Browse Source

Merge branch 'postage-master' into 'master-copy'

Postage master

See merge request spfm/spfm-market-front!415
杨壁繁 2 years ago
parent
commit
4421b3ef60

+ 1 - 1
public/index.html

@@ -34,7 +34,7 @@
     // window.staticHost = 'http://10.230.26.15:8000/mkt'; // 正式
     window.staticHost = 'http://10.149.85.91:8000/spfm'; // 测试
     // window.staticHost = 'http://192.168.0.103:9600/';
-    // window.staticHost = 'http://43.138.50.94:9600/';
+    window.staticHost = 'http://43.138.50.94:9600';
 
     // document.title = "hello";
   </script>

File diff suppressed because it is too large
+ 41 - 36
src/assets/js/common.js


+ 165 - 0
src/components/el-forms.vue

@@ -0,0 +1,165 @@
+<template>
+  <div>
+    <slot :name="list.name"></slot>
+    <el-table
+      ref="table"
+      style="width: 100%"
+      :data="list.data"
+      :height="list.height + 'px'"
+      :max-height="list.height + 'px'"
+      @row-click="getRowData"
+      @selection-change="selectionChange"
+      empty-text="暂无数据"
+      @cell-click="getRowList"
+      :cell-style="columnbackgroundStyle"
+      row-key="id"
+      :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
+    >
+      <!-- 是否多选 -->
+      <el-table-column
+        v-if="list.isSelection"
+        :selecttable="list"
+        type="selection"
+        :width="list.width || 50"
+        align="center"
+      />
+
+      <!-- 是否需要序号 -->
+      <el-table-column
+        v-if="list.isIndex"
+        type="index"
+        label="序号"
+        width="55"
+        align="center"
+      />
+      <template v-for="item in list.titledata">
+        <el-table-column
+          :key="item.prop"
+          :prop="item.prop"
+          :label="item.label"
+          align="center"
+          show-overflow-tooltip
+          :width="item.width || 100"
+        />
+      </template>
+      <!-- 操作列 -->
+      <el-table-column
+        v-if="list.isOperation"
+        v-bind="list.data && list.data.length ? { fixed: 'right' } : null"
+        style="margin-right: 20px"
+        class-name="handle-td"
+        label-class-name="tc"
+        :label="list.operation.label"
+        align="center"
+      >
+        <!-- UI统一一排放3个,4个以上出现更多 -->
+        <template slot-scope="scope">
+          <!-- 三个一排的情况,去掉隐藏的按钮后的长度 -->
+          <template v-if="list.operation.data.length > 0">
+            <div class="btn">
+              <div v-for="item in list.operation.data" :key="item.label">
+                <template v-if="item.type !== 'icon'">
+                  <el-button
+                    v-bind="item"
+                    :type="item.type ? item.type : ''"
+                    size="mini"
+                    @click.native.prevent="
+                      item.handleRow(scope.$index, scope.row, item.label)
+                    "
+                  >
+                    {{ item.label }}
+                  </el-button>
+                </template>
+                <template v-else>
+                  <i
+                    :class="[icon, item.icon]"
+                    v-bind="item"
+                    @click="item.handleRow(scope.$index, scope.row, item.label)"
+                  />
+                </template>
+              </div>
+            </div>
+          </template>
+        </template>
+      </el-table-column>
+    </el-table>
+    <div class="page">
+      <el-pagination
+        style="display: flex; flex-direction: row-reverse"
+        v-if="list.pageData.total > 0"
+        :current-page.sync="page"
+        :page-sizes="
+          list.pageData.pageSizes ? list.pageData.pageSizes : [5, 10, 15, 20]
+        "
+        :page-size="list.pageData.pageSize"
+        layout="total, sizes, prev, pager, next, jumper"
+        :total="list.pageData.total"
+        @size-change="handleSizeChange"
+        @current-change="handleCurrentChange"
+      />
+    </div>
+  </div>
+</template>
+
+<script>
+export default {
+  data(){
+    return{
+     page:1
+    }
+  },
+  props: {
+    //  表格数据和表格部分属性的对象
+    // eslint-disable-next-line vue/require-default-prop
+    list: {
+      type: Object,
+    },
+  },
+  created() {
+
+  },
+  methods: {
+    columnbackgroundStyle({ row, column, rowIndex, columnIndex }) {
+      if (column.type == "default") {
+        if (column.label === "文件标题") {
+          return "color:#0682CD;";
+        }
+      }
+    },
+    selectionChange(val) {
+
+      //多选数字回调
+      this.$emit("num", val);
+    },
+    handleAdd(name) {
+     
+      this.$emit("toolMsg", name);
+    },
+    handleRow(index, row, lable) {
+     
+    },
+    handleSizeChange(val) {
+      this.$emit("changeSize", val);
+      console.log(`每页 ${val} 条`);
+    },
+    handleCurrentChange(val) {
+      this.$emit("changeNum", val);
+      console.log(`当前页: ${val}`);
+    },
+    // 点击行即可选中
+    getRowData(row) {
+      this.$refs.table.toggleRowSelection(row);
+    },
+    getRowList(row, column, event, cell) {
+      this.$emit("clickDemand", column.label, row);
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+.btn{
+  display: flex;
+  justify-content: center;
+}
+</style>

+ 0 - 3
src/components/workflow.vue

@@ -271,9 +271,6 @@ export default {
       }
     },
     submitWork() {
-      console.log(this.nodes);
-      //多人转派环节
-
       //多人会签处理环节
       let list = {
         userId: JSON.parse(window.sessionStorage.userInfo).loginNo, //人员id

+ 3 - 1
src/components/workflowBase.vue

@@ -276,7 +276,7 @@ export default {
         content: this.textarea, //意见内容
       };
       if (this.manyPeopleStatus == true) {
-        list.procinstid = this.list.processId;
+        list.procinstid = this.list.process_id;
         // if (this.backThree.length <= 1) {
         // this.$message.error("请选择多人");
         // return;
@@ -355,6 +355,7 @@ export default {
       });
     },
     async nextWork(list) {
+      console.log(list);
       //e:yes||no,list:传入数组,title:结束标签,res:驳回标签,id:工单更新id
       let _this = this;
       let obj = {
@@ -538,6 +539,7 @@ export default {
       this.TransferStatus = false;
       //   this.clickTaskName = e.properties.name;
       this.clicknextName = e.properties.name;
+      console.log(this.clicknextName);
       this.seleIndex = index;
       this.getNextPath(e.resourceId, 3); //1 为点击后获取线
     },

+ 2 - 0
src/pages/main/leader/demand/demandHome.vue

@@ -1238,6 +1238,8 @@ export default {
       this.dialogTitle = "新建";
       this.lables.data = [];
       this.disabled = false;
+      this.saveStatus = false;
+      this.startStatus = false
       await this.getDepartmentName();
     },
     //获取用户部门名称

+ 614 - 0
src/pages/main/postage/formTable.vue

@@ -0,0 +1,614 @@
+<template>
+  <div>
+    <div>
+      <div class="flex-title">资费配置工单</div>
+      <el-form ref="form" :model="form" :rules="rule" :disabled="disabled">
+        <el-row>
+          <el-col :span="12">
+
+            <el-form-item label="文件标题:" prop="needName">
+              <el-input v-model="form.needName"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="申请部门:" prop="applydept">
+              <el-input v-model="form.applydept" :disabled="true"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+
+            <el-form-item label="申请科室:" prop="applydepartment">
+              <el-input v-model="form.applydepartment" :disabled="true"></el-input>
+            </el-form-item>
+          </el-col>
+
+        </el-row>
+
+
+        <el-row>
+          <el-col :span="6">
+            <el-form-item label="拟稿时间:">
+              <el-date-picker type="date" :disabled="true" placeholder="选择日期" v-model="form.proposerTime"
+                :picker-options="pickerOptions" value-format="yyyy-MM-dd" style="width: 100%"></el-date-picker>
+            </el-form-item>
+
+          </el-col>
+          <el-col :span="6">
+
+            <el-form-item label="拟稿人:" prop="proposer">
+              <el-input v-model="form.proposer" :disabled="true"></el-input>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+
+            <el-form-item label="编号:" prop="fileno">
+              <el-input v-model="form.fileno" :disabled="true"></el-input>
+            </el-form-item>
+          </el-col>
+
+
+          <el-col :span="6">
+            <el-form-item label="联系电话" prop="phone">
+              <el-input v-model="form.phone" :disabled="true"></el-input>
+            </el-form-item>
+
+          </el-col>
+
+
+        </el-row>
+
+        <el-row>
+          <el-col :span="6">
+
+            <el-form-item label="操作类型:" prop="operationType">
+              <el-select v-model="form.operationType" placeholder="请选择">
+                <el-option label="新资费配置" value="新资费配置"></el-option>
+                <el-option label="资费修改" value="资费修改"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+
+            <el-form-item label="业务线条:" prop="businessLine">
+              <el-select v-model="form.businessLine" placeholder="请选择">
+                <el-option label="市场线条" value="是"></el-option>
+                <el-option label="政企线条" value="否"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+
+            <el-form-item label="宽带配置选项:" prop="isSevenProject">
+              <el-select v-model="form.broadband" placeholder="请选择">
+                <el-option label="是" value="是"></el-option>
+                <el-option label="无" value="否"></el-option>
+              </el-select>
+            </el-form-item>
+          </el-col>
+          <el-col :span="6">
+            <el-form-item label="资费价格:" prop="proposer">
+              <el-input v-model="form.tariffPrice"></el-input>
+            </el-form-item>
+          </el-col>
+        </el-row>
+
+
+        <el-row>
+          <!-- 新资费配置显示表单 -->
+          <div v-if="newPostAge">
+            <el-row>
+              <el-col :span="6">
+
+                <el-form-item label="需求时限:">
+                  <el-date-picker type="date" :disabled="timeStatus" placeholder="选择日期" v-model="form.demandTime"
+                    :picker-options="pickerOptions" value-format="yyyy-MM-dd" style="width: 100%"></el-date-picker>
+                </el-form-item>
+              </el-col>
+              <el-col :span="6">
+                <el-form-item label="资费名称:" prop="proposer">
+                  <el-input v-model="form.tariffName"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+
+            <el-row>
+              <el-col :span="24">
+                <el-form-item label="资费描述" prop="tariffDesc" label-width="110px">
+                  <el-input type="textarea" maxlength="300" show-word-limit v-model="form.tariffDesc"></el-input>
+                </el-form-item>
+
+              </el-col>
+            </el-row>
+
+            <el-row :gutter="20">
+              <el-col :span="4">
+                <el-form-item label="费用收取方式:" prop="costPayWay" label-width="150px">
+                  <el-select v-model="form.costPayWay" placeholder="请选择">
+                    <el-option label="费用一次性收取" value="费用一次性收取"></el-option>
+                    <el-option label="按日分摊" value="按日分摊"></el-option>
+                    <el-option label="区分上下半月" value="区分上下半月"></el-option>
+                    <el-option label="不区分上下半月" value="不区分上下半月"></el-option>
+                    <el-option label="月租日计" value="月租日计"></el-option>
+                    <el-option label="其他" value="其他"></el-option>
+                  </el-select>
+                </el-form-item>
+
+              </el-col>
+              <el-col :span="20">
+                <el-form-item prop="costPayWayInput">
+                  <el-input type="textarea" maxlength="300" show-word-limit v-model="form.costPayWayInput"></el-input>
+                </el-form-item>
+
+              </el-col>
+
+            </el-row>
+            <el-row>
+              <el-col :span="24">
+
+                <el-form-item label="办理场景" prop="handleWay" label-width="110px">
+                  <el-input type="textarea" maxlength="300" show-word-limit v-model="form.handleWay"></el-input>
+                </el-form-item>
+              </el-col>>
+
+            </el-row>
+            <el-row>
+              <el-col :span="10">
+
+                <el-form-item label="提醒短信:" prop="remindMmsg">
+                  <el-checkbox-group v-model="remindMmsg">
+                    <el-checkbox label="无" name="remindMmsg" :disabled="checkBoxNone"></el-checkbox>
+                    <el-checkbox label="到期提醒" name="remindMmsg" :disabled="checkBoxStatus"></el-checkbox>
+                    <el-checkbox label="办理成功" name="remindMmsg" :disabled="checkBoxStatus"></el-checkbox>
+                    <el-checkbox label="退订成功" name="remindMmsg" :disabled="checkBoxStatus"></el-checkbox>
+                    <el-checkbox label="限速提醒" name="remindMmsg" :disabled="checkBoxStatus"></el-checkbox>
+                    <el-checkbox label="余额提醒" name="remindMmsg" :disabled="checkBoxStatus"></el-checkbox>
+                    <el-checkbox label="用尽失效" name="remindMmsg" :disabled="checkBoxStatus"></el-checkbox>
+                  </el-checkbox-group>
+                </el-form-item>
+              </el-col>
+              <el-col :span="14">
+                <el-form-item prop="remindMsgInput" label-width="110px">
+                  <el-input type="textarea" maxlength="300" show-word-limit v-model="form.remindMsgInput"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20">
+              <el-col :span="6">
+                <el-form-item label="酬金要求:" prop="gratuity">
+                  <el-select v-model="form.gratuity" placeholder="请选择">
+                    <el-option label="无" value="无"></el-option>
+                    <el-option label="有" value="有"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="18">
+                <el-form-item prop="gratuityInput" style="width:100%">
+                  <el-input type="textarea" maxlength="300" show-word-limit v-model="form.gratuityInput"></el-input>
+                </el-form-item>
+              </el-col>
+            </el-row>
+            <el-row :gutter="20">
+              <el-col :span="6">
+                <el-form-item label="报表要求:" prop="reportForm">
+                  <el-select v-model="form.reportForm" placeholder="请选择">
+                    <el-option label="无" value="无"></el-option>
+                    <el-option label="有" value="有"></el-option>
+                  </el-select>
+                </el-form-item>
+              </el-col>
+              <el-col :span="18">
+                <el-form-item prop="reportFormInput">
+                  <el-input type="textarea" maxlength="300" show-word-limit v-model="form.reportFormInput"></el-input>
+                </el-form-item>
+              </el-col>
+
+            </el-row>
+            <el-row>
+              <el-form-item label="工单协议条款内容调整" prop="clause" label-width="140px">
+                <el-input type="textarea" maxlength="500" show-word-limit v-model="form.clause"></el-input>
+              </el-form-item>
+            </el-row>
+            <el-row>
+              <el-form-item label="备注/内容" prop="needBackdrop">
+                <el-input type="textarea" maxlength="500" show-word-limit v-model="form.content"></el-input>
+              </el-form-item>
+            </el-row>
+          </div>
+        </el-row>
+        <el-row>
+
+          <div v-if="postEdit">
+            <el-row>
+              <el-form-item label="内容" prop="count" label-width="110px">
+                <el-input type="textarea" maxlength="300" show-word-limit v-model="form.count"></el-input>
+              </el-form-item>
+            </el-row>
+
+
+            <el-row>
+              <el-form-item label="资费工单协议条款内容调整" prop="clause" label-width="170px">
+                <el-input type="textarea" maxlength="500" show-word-limit v-model="form.clause"></el-input>
+              </el-form-item>
+            </el-row>
+          </div>
+        </el-row>
+        <el-row>
+          <el-form-item label="附件:" prop="mkFileShareAttachList" label-width="120px">
+            <my-upload ref="upload" @uploadBack="uploadBack" @delloadBack="delloadBack" @clickDownload="download"
+              :fileInfo="fileInfo" :fileList="list.mkFileShareAttachList"></my-upload>
+          </el-form-item>
+        </el-row>
+
+
+      </el-form>
+    </div>
+    <div></div>
+    <div></div>
+  </div>
+</template>
+
+<script>
+import myUpload from "../../../components/workflowUpload";
+
+export default {
+  components: {
+    myUpload,
+  },
+  data() {
+    return {
+      costPayWayInputRule: {
+        costPayWayInput: [
+          { required: true, message: "请填写", trigger: "blur" },
+        ],
+      },
+      gratuityInputRule: {
+        gratuityInput: [
+          { required: true, message: "请填写", trigger: "blur" },
+        ],
+      },
+      reportFormInputRule: {
+        reportFormInput: [
+          { required: true, message: "请填写", trigger: "blur" },
+        ],
+      },
+      checkBoxNone: false,
+      checkBoxStatus: false,
+      fileInfo: {
+        type: "bt1n",
+        typename: "上传文件",
+        limit: 5,
+        url: "/market/waf/upload",
+        fileList: [],
+      },
+      postEdit: false,
+      newPostAge: false,
+      pickerOptions: {
+        disabledDate(time) {
+          return time.getTime() < Date.now() - 8.64e7;
+        },
+      },
+      oneList: [],
+      childrenList: [],
+      twoList: [],
+      twoStatus: false,
+      threeList: [],
+      threeStatus: false,
+      fourList: [],
+      fourStatus: false,
+      fiveList: [],
+      fiveStatus: false,
+      isSensitiveDataStatus: false,
+      timeStatus: false,
+      functionStatus: false,
+      reportStatus: false,
+      Length: "",
+      form: {},
+      rules: {},
+      rule: {
+        needName: [
+          { required: true, message: "请输入需求名称", trigger: "blur" },
+        ],
+        operationType: [
+          { required: true, message: "请选择操作类型", trigger: "change" },
+        ]
+      },
+      copyRule: {},
+      isList: [],
+      remindMmsg: []
+    };
+  },
+  props: {
+    list: {
+      type: Object,
+      default: () => { },
+    },
+    disabled: {
+      type: Boolean,
+      default: () => { },
+    },
+  },
+  mounted() {
+    if (this.list.mkFileShareAttachList) {
+      this.$refs.upload.attList = this.list.mkFileShareAttachList;
+      this.list.mkFileShareAttachList.map((item) => {
+        item.name = item.fileName;
+      });
+    }
+  },
+  created() {
+    this.form = this.list;
+    this.copyRule = this.rule;
+    console.log(this.form);
+  },
+
+  methods: {
+    uploadBack(v) {
+      if (this.form.mkFileShareAttachList) {
+        this.form.mkFileShareAttachList = [];
+        this.form.mkFileShareAttachList = v;
+      } else {
+        let mkFileShareAttachList = [];
+        mkFileShareAttachList = v;
+        this.$set(this.form, "mkFileShareAttachList", mkFileShareAttachList);
+      }
+    },
+    delloadBack(v) {
+      this.form.mkFileShareAttachList = v;
+      this.$http({
+        url: "/market/zfpzProcess/update",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: this.form,
+      }).then((res) => {
+        console.log(res);
+        // if (res.data.result === 0) {
+        //   this.$message.success("工作流更新成功");
+        // }
+      });
+    },
+    download() {
+      console.log(123);
+      if (this.form.mkFileShareAttachList.length > 1) {
+        this.$http({
+          url: "/market/waf/downAllFile",
+          method: "post",
+          headers: {
+            "Content-Type": "application/json",
+          },
+          responseType: "blob",
+          data: { mkFileShareAttachList: this.form.mkFileShareAttachList },
+        }).then((response) => {
+          if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+            let blob = new Blob([response.data], {
+              type: "application/vnd.ms-excel",
+            });
+            window.navigator.msSaveOrOpenBlob(
+              blob,
+              new Date().getTime().toString() + ".zip"
+            );
+          } else {
+            /* 火狐谷歌的文件下载方式 */
+            var blob = new Blob([response.data]);
+            var downloadElement = document.createElement("a");
+            var href = window.URL.createObjectURL(blob);
+            downloadElement.href = href;
+            downloadElement.download = this.form.needName + ".zip";
+            document.body.appendChild(downloadElement);
+            downloadElement.click();
+            document.body.removeChild(downloadElement);
+            window.URL.revokeObjectURL(href);
+          }
+          if (this.infolist.authType === "3") {
+            this.dialogCli(10);
+          }
+        });
+      } else {
+        console.log(this.form.mkFileShareAttachList);
+        let list = {
+          id: this.form.mkFileShareAttachList[0].fileCode,
+          fileName: this.form.mkFileShareAttachList[0].name,
+        };
+        this.$http({
+          url: "/market/waf/downFile",
+          method: "post",
+          headers: {
+            "Content-Type": "application/json",
+          },
+          responseType: "blob",
+          data: list,
+        }).then((response) => {
+          console.log(response);
+          if (window.navigator && window.navigator.msSaveOrOpenBlob) {
+            let blob = new Blob([response.data], {
+              type: "application/vnd.ms-excel",
+            });
+            //window.navigator.msSaveOrOpenBlob(blob, this.form.needName);
+            window.navigator.msSaveOrOpenBlob(
+              blob,
+              this.form.mkFileShareAttachList[0].name
+            );
+          } else {
+            /* 火狐谷歌的文件下载方式 */
+            var blob = new Blob([response.data]);
+            var downloadElement = document.createElement("a");
+            var href = window.URL.createObjectURL(blob);
+            downloadElement.href = href;
+            downloadElement.download = this.form.mkFileShareAttachList[0].name;
+            document.body.appendChild(downloadElement);
+            downloadElement.click();
+            document.body.removeChild(downloadElement);
+            window.URL.revokeObjectURL(href);
+          }
+        });
+      }
+    },
+  },
+  watch: {
+    "form.operationType": {
+      handler(newVal) {
+        console.log(newVal);
+        if (newVal === "资费修改") {
+          this.newPostAge = false;
+          this.postEdit = true;
+        } else {
+          this.postEdit = false;
+          this.newPostAge = true;
+        }
+      },
+    },
+    "remindMmsg": {
+      handler(newVal) {
+        this.form.remindMmsg = newVal;
+        if (newVal.length === 0) {
+          this.checkBoxStatus = false;
+          this.checkBoxNone = false;
+        }
+        newVal.map((item) => {
+          if (item === '无') {
+            this.checkBoxStatus = !this.checkBoxNone;
+            console.log(this.checkBoxStatus);
+          } else {
+            this.checkBoxNone = !this.checkBoxStatus
+          }
+
+
+        })
+
+      }
+    },
+    "form.costPayWay": {
+      handler(newVal) {
+        console.log(newVal);
+        if (newVal === '其他') {
+          this.rule = { ...this.rule, ...this.costPayWayInputRule }
+
+        } else {
+          this.rule = this.copyRule
+        }
+      }
+    },
+    "form.gratuity": {
+      handler(newVal) {
+        console.log(newVal);
+        if (newVal === '有') {
+          this.rule = { ...this.rule, ...this.gratuityInputRule }
+          console.log(this.rule);
+        } else {
+          this.rule = this.copyRule
+        }
+      }
+    },
+    "form.reportForm": {
+      handler(newVal) {
+        if (newVal === '有') {
+          this.rule = { ...this.rule, ...this.reportFormInputRule }
+
+        } else {
+          this.rule = this.copyRule
+        }
+      }
+    }
+
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+::v-deep .el-row{
+  margin-top: 16px;
+}
+a {
+  text-decoration: none;
+}
+
+::v-deep .el-upload-list {
+  width: 23rem;
+}
+
+.flex-title {
+  text-align: center;
+  font-size: 24px;
+  line-height: 60px;
+
+  font-weight: bold;
+}
+
+.flex-header {
+  margin-top: 20px;
+  display: flex;
+  //   justify-content: space-between;
+
+  ::v-deep .el-form-item {
+    width: 20%;
+    margin-right: 60px;
+  }
+}
+
+.flex-upload {
+  ::v-deep .el-form-item {
+    width: 100%;
+  }
+}
+
+.flex-input-tare {
+  ::v-deep .el-form-item {
+    width: 100%;
+    margin-right: 5%;
+  }
+
+  ::v-deep .el-form-item__label {
+    width: 9rem !important;
+  }
+}
+
+.flex-textarea {
+  width: 70.5%;
+}
+
+.el-upload__tip {
+  color: red;
+}
+
+// ::v-deep .el-input--suffix .el-input__inner {
+//   width: 119% !important;
+// }
+::v-deep .el-input__inner {
+  color: black !important;
+}
+
+::v-deep .el-textarea.is-disabled .el-textarea__inner {
+  color: black !important;
+}
+
+::v-deep .el-form-item {
+  display: flex;
+}
+
+::v-deep .el-form-item__label {
+  // width:100%;
+  height: 50px;
+  line-height: 40px !important;
+  width: 130px;
+  font-size: 0.5rem;
+}
+
+::v-deep .el-form-item__content {
+  width: 100%;
+  margin-left: 0% !important;
+}
+
+.el-select,
+::v-deep.el-input_inner {
+  width: 100%;
+}
+
+::v-deep.el-form-item.foldLabel .el-form-item__label {
+  white-space: pre-line;
+  /*换行显示*/
+  height: 10px;
+  /*设置lable高度,input高度一样*/
+  line-height: 30px !important;
+}
+</style>

+ 924 - 0
src/pages/main/postage/index.vue

@@ -0,0 +1,924 @@
+<template>
+  <div class="flex-box">
+    <!-- v-show="lable.name === 'first'" -->
+    <div class="flex-header" :span="24">
+      <Tabs :tabList="tabList" @status="clickTabTops" />
+      <el-button type="primary" @click="clickNewTag">+新建</el-button>
+    </div>
+    <div class="flex-count">
+      <Table @clickDemand="clickDemand" :list="lableTable" ref="TableList" @num="getNum" @changeNum="changeNum">
+      </Table>
+    </div>
+    <el-dialog :title="'需求'" :visible.sync="dialogStatus" width="100%" :before-close="handleClose" :modal="false"
+      v-if="dialogStatus" style="display: flex; flex-direction: column" :destroy-on-close="true">
+      <!-- 后期维护 -->
+      <div style="position: fixed; z-index: 10000">
+        <el-button type="primary" v-if="startStatus" @click="clickHandles">处理</el-button>
+        <el-button type="primary" @click="handleClose">关闭</el-button>
+        <el-button type="primary" @click="clickSave" v-if="saveStatus">保存</el-button>
+      </div>
+
+      <FormTable :list="fromList" :disabled="disabled" class="flex-form" ref="formTable" />
+      <div>
+        <div class="table-title">流程追踪</div>
+        <div v-if="abc == true">
+          <Tables :list="lables"></Tables>
+        </div>
+      </div>
+      <div>
+        <!-- <div class="table-title">流程追踪</div>
+        <div v-if="abc == true">
+          <Tables :list="lables"></Tables>
+        </div> -->
+      </div>
+    </el-dialog>
+    <div v-if="destroy">
+      <el-dialog title="处理操作" width="100%" :visible.sync="handleStatus" :before-close="handleCloses" :modal="false"
+        v-if="handleStatus" :destroy-on-close="true">
+        <Workflow ref="workflow" :list="fromList" v-if="isWorkflowStatus == true" @updateForm="beforeClose"
+          :requestForm="requestForm" :adminResourceId="adminResourceId" />
+        <WorkflowEntrance :list="fromList" v-else :lastManList="lastManList" @beforeClose="beforeClose"
+          :requestForm="requestForm" />
+
+        <!-- 后期维护 -->
+      </el-dialog>
+    </div>
+  </div>
+</template>
+
+<script>
+import Workflow from "../../../components/workflowBase";
+import WorkflowEntrance from "../../../components/workflowEntrance";
+import Tabs from "../../../components/el-tabs.vue";
+import Table from "../../../components/el-form.vue";
+import Tables from "../../../components/el-forms.vue";
+import FormTable from "./formTable.vue";
+import { updateBase } from "../../../http/api.js";
+import {
+  getTodoBase,
+  getDoneBase,
+  getInitiateBase,
+} from "../../../http/api.js";
+export default {
+  components: {
+    Tabs,
+    Table,
+    Tables,
+    FormTable,
+    Workflow,
+    WorkflowEntrance,
+  },
+  data() {
+    return {
+      abc: true,
+      disabled: false,
+      total: "",
+      lableTable: {}, //传给子组件table
+      pageSize: "1",
+      requestForm: {
+        // fresourceId: "91e8c4fd-33ed-11ed-a6ed-02427ba2d388", // 本地环境
+        fresourceId: "bf79721c-33f3-11ed-ba0b-00505687dcd3", //测试环境
+        // fresourceId:'81455799-600d-11ed-b399-e00084564cce',//生产环境
+        processDefinitionKey: "zfpz_pro_process",
+      },
+      adminResourceId: "", //多人处理最后人id
+      isWorkflowStatus: true, //真假工作流权限
+      destroy: false, //工作流组件
+      phone: "", //用户电话号
+      disabled: false, //表单权限控制
+      saveStatus: true, //保存按钮权限
+      startStatus: true, // 处理按钮权限
+      fromList: {}, //表单数据
+      dialogStatus: false, //表单状态控制
+      tabList: [
+        {
+          index: "first",
+          label: "我的待办",
+          number: "",
+          name: "prosss_key",
+        },
+        {
+          index: "two",
+          label: "我的已办",
+          number: "",
+        },
+        {
+          index: "three",
+          label: "我发起的",
+          number: "",
+        },
+      ],
+      firstTable: {
+        name: "first",
+        height: "600",
+        titledata: [
+          {
+            label: "文件标题",
+            prop: "need_name",
+            width: 300,
+            color: "#0682CD",
+          },
+          {
+            label: "发起部门",
+            prop: "applydept",
+            width: 200,
+          },
+          {
+            label: "发起科室",
+            prop: "applydepartment",
+            width: 200,
+          },
+          {
+            label: "发起人",
+            prop: "proposer",
+            width: 200,
+          },
+
+          {
+            label: "发起时间",
+            prop: "proposer_time",
+            width: 250,
+          },
+          {
+            label: "上一步处理人",
+            prop: "predealman",
+            width: 200,
+          },
+          {
+            label: "状态",
+            prop: "taskName",
+            width: 200,
+          },
+        ], //表格头
+        data: [], //内容数据
+        loading: true,
+        pageData: {
+          total: 100, // 总条数
+          pageSize: 10, // 每页数量
+          pageNum: 1, // 页码
+        },
+        isSelection: false, // 表格有多选时设置
+        isOperation: false, // 表格有操作列时设置
+        isIndex: false, // 列表序号
+        operation: {
+          // 表格有操作列时设置
+          label: "操作", // 列名
+          width: "50", // 根据实际情况给宽度
+          data: [
+            {
+              label: "操作", // 操作名称
+              type: "", //按钮类型
+              handleRow: (e, r, o) => { }, // 自定义事件
+            },
+          ],
+        },
+      },
+      twoTable: {
+        name: "two",
+        height: "600",
+        titledata: [
+          {
+            label: "文件标题",
+            prop: "need_name",
+            width: 300,
+            color: "#0682CD",
+          },
+          {
+            label: "发起部门",
+            prop: "applydept",
+            width: 200,
+          },
+          {
+            label: "发起科室",
+            prop: "applydepartment",
+            width: 200,
+          },
+          {
+            label: "发起人",
+            prop: "proposer",
+            width: 200,
+          },
+
+          {
+            label: "发起时间",
+            prop: "proposer_time",
+            width: 250,
+          },
+
+          {
+            label: "状态",
+            prop: "taskName",
+            width: 200,
+          },
+        ], //表格头
+        data: [], //内容数据
+        loading: true,
+        pageData: {
+          total: 100, // 总条数
+          pageSize: 10, // 每页数量
+          pageNum: 1, // 页码
+        },
+        isSelection: false, // 表格有多选时设置
+        isOperation: false, // 表格有操作列时设置
+        isIndex: false, // 列表序号
+        operation: {
+          // 表格有操作列时设置
+          label: "操作", // 列名
+          width: "50", // 根据实际情况给宽度
+          data: [
+            {
+              label: "操作", // 操作名称
+              type: "", //按钮类型
+              handleRow: (e, r, o) => { }, // 自定义事件
+            },
+          ],
+        },
+      },
+      threeTable: {
+        name: "three",
+        height: "600",
+        titledata: [
+          {
+            label: "文件标题",
+            prop: "need_name",
+            width: 300,
+            color: "#0682CD",
+          },
+          {
+            label: "发起部门",
+            prop: "applydept",
+            width: 200,
+          },
+          {
+            label: "发起科室",
+            prop: "applydepartment",
+            width: 200,
+          },
+          {
+            label: "发起人",
+            prop: "proposer",
+            width: 200,
+          },
+          {
+            label: "发起时间",
+            prop: "proposer_time",
+            width: 250,
+          },
+          {
+            label: "状态",
+            prop: "taskName",
+            width: 200,
+          },
+        ], //表格头
+        data: [], //内容数据
+        loading: true,
+        pageData: {
+          total: 100, // 总条数
+          pageSize: 10, // 每页数量
+          pageNum: 1, // 页码
+        },
+        isSelection: false, // 表格有多选时设置
+        isOperation: false, // 表格有操作列时设置
+        isIndex: false, // 列表序号
+        operation: {
+          // 表格有操作列时设置
+          label: "操作", // 列名
+          width: "50", // 根据实际情况给宽度
+          data: [
+            {
+              label: "操作", // 操作名称
+              type: "", //按钮类型
+              handleRow: (e, r, o) => { }, // 自定义事件
+            },
+          ],
+        },
+      },
+      request_form: {
+        userId: "",
+        userName: "",
+        path: this.$router.currentRoute.name,
+        userCode: JSON.parse(window.sessionStorage.userInfo).loginNo,
+        title: "title",
+        businessKey: "288",
+        processDefinitionKey: "zfpz_pro_process",
+      },
+      lables: {
+        height: "400",
+        titledata: [
+          {
+            id: 1,
+            label: "环节名称",
+            prop: "taskName",
+            width: 300,
+          },
+          {
+            id: 2,
+            label: "处理人",
+            prop: "assignee",
+            width: 300,
+          },
+          {
+            id: 3,
+            label: "到达时间",
+            prop: "startTime",
+            width: 300,
+          },
+          {
+            id: 4,
+            label: "处理时间",
+            prop: "endTime",
+            width: 300,
+          },
+          {
+            id: 5,
+            label: "回复意见",
+            prop: "content",
+            width: 300,
+          },
+        ], //表格头
+        data: [], //内容数据
+        loading: true,
+        pageData: {
+          total: 0, // 总条数
+          pageSize: 10, // 每页数量
+          pageNum: 1, // 页码
+        },
+        isSelection: false, // 表格有多选时设置
+        isOperation: false, // 表格有操作列时设置
+        isIndex: true, // 列表序号
+        operation: {
+          // 表格有操作列时设置
+          label: "操作", // 列名
+          width: "50", // 根据实际情况给宽度
+          data: [
+            {
+              label: "操作", // 操作名称
+              type: "", //按钮类型
+              handleRow: function () { }, // 自定义事件
+            },
+          ],
+        },
+      },
+      clickTagNameTop: "first",
+      totalPage: "1",
+    };
+  },
+  created() {
+    this.getQueryList();
+    this.getMeLaunch();
+    this.getQueryDone();
+    this.lableTable = this.firstTable;
+  },
+  mounted() {
+    this.getUserPhone();
+  },
+  methods: {
+    clickTabTops(e) {
+      console.log(e);
+      this.$refs.TableList.page = 1;
+      this.totalPage = "1";
+      this.clickTagNameTop = e;
+      // this.pageNo = 1
+      // this.$refs.TableList.page = 1;
+      if (this.clickTagNameTop == "first") {
+        this.lableTable = this.firstTable;
+        this.getQueryList();
+      } else if (this.clickTagNameTop == "two") {
+        this.lableTable = this.twoTable;
+        this.getQueryDone();
+      } else {
+        this.lableTable = this.threeTable;
+        this.getMeLaunch();
+      }
+    },
+    //我的待办
+    getQueryList() {
+      let list = {
+        tableName: this.request_form.processDefinitionKey,
+      };
+      getTodoBase(this.totalPage, "", list).then((res) => {
+        this.lableTable.data = res.data.data;
+        // this.tableData.map((item) => {
+        //   item.status = "1";
+        // });
+        this.tabList[0].number = res.data.totalRecord;
+        this.lableTable.pageData.total = res.data.totalRecord;
+        // this.loading = false;
+      });
+    },
+    getQueryDone() {
+      let list = {
+        tableName: this.request_form.processDefinitionKey,
+      };
+      getDoneBase(this.totalPage, "", list).then((res) => {
+        this.lableTable.data = res.data.data;
+        this.lableTable.pageData.total = res.data.totalRecord;
+        // this.tableData.map((item) => {
+        //   item.status = "2";
+        // });
+        this.tabList[1].number = res.data.totalRecord;
+        this.total = res.data.totalRecord;
+        this.loading = false;
+      });
+    },
+    getMeLaunch() {
+      let list = {
+        tableName: this.request_form.processDefinitionKey,
+      };
+      getInitiateBase(this.totalPage, "", list).then((res) => {
+        this.lableTable.data = res.data.data;
+        this.lableTable.pageData.total = res.data.totalRecord;
+        this.tabList[2].number = res.data.totalRecord;
+        // this.tableData.map((item) => {
+        //   if (item.taskName === "起草") {
+        //     item.status = "1";
+        //   } else {
+        //     item.status = "2";
+        //   }
+        // });
+        this.total = res.data.totalRecord;
+        this.loading = false;
+      });
+    },
+    async getLastName() {
+      console.log(this.fromList);
+      let list = {
+        procinstid: this.fromList.processId,
+        taskid: this.fromList.taskId,
+
+        // taskId:e.taskId
+      };
+      let _this = this;
+      let obj = {
+        url: this.$url.formList.getLastName, //流程追踪接口
+        data: list,
+        // status: "form",
+        headers: {
+          "Content-Type": "application/json",
+        },
+      };
+
+      let res = await this.common.httpPost(obj, success);
+      function success(data) {
+        console.log(data);
+        if (data.lastMan == true) {
+          _this.adminResourceId = data.adminResourceId;
+        }
+        _this.destroy = true;
+        _this.handleStatus = true;
+        _this.isWorkflowStatus = data.lastMan == false ? false : true;
+        _this.lastManList = data;
+
+        // console.log(_this.isWorkflowStatus);
+      }
+    },
+    //生成随机编号
+    getProjectNum() {
+      const time = new Date();
+      const year = time.getFullYear();
+      const Mouth = time.getMonth() + 1;
+      const Day = time.getDate();
+      let currentDate = year;
+      if (Mouth >= 10) {
+        currentDate += Mouth;
+      } else {
+        currentDate += "0" + Mouth;
+      }
+      if (Day >= 10) {
+        currentDate += Day;
+      } else {
+        currentDate += "0" + Day;
+      }
+      return currentDate;
+    },
+    getUserPhone() {
+      this.$http({
+        url: "/market/tygdProProcess/getPhone",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {},
+      }).then((res) => {
+        this.phone = res.data;
+      });
+    },
+    //获取用户部门名称
+    getDepartmentName() {
+      this.$http({
+        url: "/market/waf/queryDept",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {},
+      }).then((res) => {
+        let list = {
+          applydept: res.data,
+          applydepartment: JSON.parse(window.sessionStorage.userInfo).groupName,
+          proposer: JSON.parse(window.sessionStorage.userInfo).loginName,
+          fileno: this.getProjectNum() + Math.floor(Math.random() * 100000),
+          proposerTime: new Date(),
+          phone: this.phone,
+        };
+        this.fromList = list;
+        if (this.$refs.formTable) {
+          this.$refs.formTable.form = list;
+        }
+      });
+    },
+    setForm(e) {
+      this.request_form.title = this.$refs.formTable.form.needName;
+      this.$http({
+        url: "/market/zfpzProcess/add",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: this.$refs.formTable.form,
+      }).then((res) => {
+        console.log(res);
+        this.request_form.businessKey = res.data.body;
+        this.clickHandle(res.data.body);
+      });
+    },
+    getUserIds() {
+      this.$http({
+        url: "/market/waf/queryRoleByName",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: {
+          userCode: JSON.parse(window.sessionStorage.userInfo).loginNo,
+        },
+      }).then((res) => {
+        console.log(res);
+        this.request_form.userName = res.data.data.rows[0].name;
+        this.request_form.userId = res.data.data.rows[0].userCode;
+      });
+    },
+    async clickHandle(e) {
+      let _this = this;
+      let obj = {
+        url: this.$url.formList.startWork, //开始工作流接口
+        data: _this.request_form,
+        status: "form",
+        headers: {
+          "Content-Type": "application/x-www-form-urlencoded",
+        },
+      };
+
+      let res = await this.common.httpPost(obj, success);
+      function success(data) {
+        console.log(data);
+        _this.fromList.processId = data.data;
+        _this.taskId = data.data;
+        let list = {
+          id: e,
+          // taskId:_this.formId,
+          tableName: _this.request_form.processDefinitionKey,
+          processId: _this.fromList.processId,
+          // resourceId: _this.nextPath.currentShape[0].resourceId,
+        };
+        _this.setUpdate(list);
+      }
+    },
+    setUpdate(e) {
+      updateBase(e).then((res) => {
+        this.fromList.taskId = res.data.body[0].taskId;
+        // this.fromList.taskId = '1111111111';
+        this.fromList.taskName = res.data.body[0].taskName;
+        // this.fromList = concat;
+      });
+    },
+    setUpdateCopy(e) {
+      this.$http({
+        url: "/market/zfpzProcess/update",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: e
+      }).then((res) => {
+        console.log(res);
+        this.$message.success(res.data.desc)
+      });
+
+    },
+    //点击保存
+    clickSave() {
+      // if (this.fromList.id) {
+      //   let list = this.$refs.formTable.form;
+      //   // list.tableName = this.request_form.processDefinitionKey;
+      //   // list.processId = null
+      //   // list.taskId = null
+      //   this.setUpdateCopy(list)
+      // } else {
+      //   this.getUserIds();
+      //   this.setForm();
+      // }
+
+      this.$refs.formTable.$refs.form.validate((valid) => {
+        if (valid) {
+          console.log(this.fromList);
+          if (this.fromList.id) {
+            this.setUpdateCopy(this.$refs.formTable.form)
+          } else {
+            this.getUserIds();
+            this.setForm();
+          }
+        } else {
+          this.$message.error("请完善表单信息");
+          return false;
+        }
+      });
+    },
+    //点击新建
+    async clickNewTag() {
+
+      this.dialogStatus = true;
+      this.lables.data = [];
+      this.disabled = false;
+      this.saveStatus = true;
+      this.startStatus = true;
+      console.log();
+      this.fromList = {}
+      await this.getDepartmentName();
+    },
+    //处理按钮,开始工作流接口
+    clickHandles() {
+      this.getNextPath(this.fromList.resourceId || "");
+    },
+    //查询form表单数据
+    getFromQuery(e) {
+      this.$http({
+        url: "/market/zfpzProcess/query",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: { id: e.id },
+      }).then((res) => {
+        // this.dialogStatus = true;
+        this.fromList = res.data
+        this.fromList.resourceId = e.resourceId
+        this.fromList.taskId = e.taskId
+        this.fromList.createId = e.createId
+        this.fromList.mkFileShareAttachList = res.data.mkFileShareAttachList;
+        this.dialogStatus = true;
+      });
+    },
+    getNextPath(e) {
+      let list = {
+        fresourceId: this.requestForm.fresourceId, // 本地环境
+        processId: this.requestForm.processDefinitionKey,
+      };
+      if (e) {
+        list.resourceId = e;
+      }
+      this.$http({
+        url: "/market/waf/queryPath",
+        method: "post",
+        headers: {
+          "Content-Type": "application/json",
+        },
+        data: list,
+      }).then((res) => {
+        if (res.data.body.nextShapes[0].multi) {
+          if (res.data.body.nextShapes[0].multi.multi === "true") {
+            this.getLastName();
+          } else {
+            this.adminResourceId = "";
+          }
+        } else {
+          this.adminResourceId = "";
+
+          // this.destroy = true;
+          // this.handleStatus = true;
+        }
+        if (this.fromList.processId || this.fromList.taskId) {
+          this.destroy = true;
+          this.handleStatus = true;
+        } else {
+          this.$message.error("请先点击保存按钮");
+        }
+      });
+    },
+    async clickForm(e) {
+      console.log(e);
+      let list = {
+        processInstanceId: e.process_id,
+        // taskId:e.taskId
+      };
+      let _this = this;
+      let obj = {
+        url: this.$url.formList.getCommentsByProcessId, //流程追踪接口
+        data: list,
+        headers: {
+          "Content-Type": "application/json",
+        },
+      };
+
+      let res = await this.common.httpPost(obj, success);
+      function success(data) {
+        console.log("[ 接口返回值第一曾 ] >", data);
+        let list = [];
+        list = data.data.data;
+        if (data.data.lastmandata.length != 0) {
+          data.data.lastmandata.map((item, index) => {
+            item.id = index + 22;
+          });
+        }
+        list.map((item, index) => {
+          item.startTime = _this.$util.datetimeFormat(item.startTime);
+          item.endTime = _this.$util.datetimeFormat(item.endTime);
+          item.id = index + 1;
+          item.children = [];
+          if (data.data.lastmandata.length != 0) {
+            let indexs = data.data.lastmandata.findIndex((items) => {
+              if (items.taskId == item.taskId) {
+                item.children.push(items);
+              }
+            });
+          }
+        });
+
+        _this.lables.data = list;
+        console.log("[ _this.lables.data ] >", _this.lables.data);
+        _this.abc = true;
+      }
+    },
+    clickDemand(e, res) {
+      console.log(this.clickTagNameTop);
+      if (e === "工单状态" || e === "文件标题") {
+        if (this.clickTagNameTop === "first") {
+          // this.disabled = true;
+          // this.dialogTitle = "查看";
+          if (res.taskName === "起草") {
+            console.log(123);
+            this.disabled = false;
+            this.saveStatus = true;
+          } else {
+            console.log(456);
+            this.disabled = true;
+            this.saveStatus = false;
+          }
+          // setTimeout(() => {
+          //   // this.getBtnStatus(res);
+          // }, 500);
+        }
+        if (this.clickTagNameTop === "two") {
+          this.disabled = true;
+          this.startStatus = false;
+          this.saveStatus = false;
+          // this.forwardStatus = false;
+          // this.exportBtnStatus = false;
+        }
+        if (this.clickTagNameTop === "three") {
+          if (res.taskName === "起草") {
+            this.startStatus = true;
+            this.disabled = false;
+            this.saveStatus = true;
+          } else {
+            this.startStatus = false;
+            this.disabled = true;
+            this.saveStatus = false;
+          }
+        }
+        // console.log('[ res ] >', res)
+        // res.needName = res.need_name;
+        // this.fromList = res;
+
+        // console.log(res);
+        // this.disabled = true
+
+        this.clickForm(res);
+        this.getFromQuery(res);
+      }
+    },
+    getNum() { },
+    getCurrentPageList(e) {
+      this.totalPage = Math.ceil(e.length / this.pageSize);
+      this.totalPage = this.totalPage == 0 ? 1 : this.totalPage;
+      let begin = (this.currentPage - 1) * this.pageSize;
+      let end = this.currentPage * this.pageSize;
+      this.currentPageList = e.slice(begin, end);
+      return this.currentPageList;
+    },
+    //获取页码
+    changeNum(e) {
+      console.log(e);
+      this.totalPage = e;
+      if (this.clickTagNameTop === "first") {
+        this.getQueryList();
+      } else if (this.clickTagNameTop === "two") {
+        this.getQueryDone();
+      } else if (this.clickTagNameTop === "three") {
+        this.getMeLaunch();
+      }
+    },
+    //表单详情状态控制
+    handleClose() {
+      this.handleCloses();
+      // console.log(123);
+      // this.dialogStatus = false;
+      // this.forwardStatus = false;
+      // // this.exportBtnStatus = false;
+      // this.saveStatus = false;
+      // this.startStatus = true;
+      // this.closeStatus = true;
+      // this.abc = false;
+      // this.handleCloses();
+      // this.getQueryList();
+      // this.getMeLaunch();
+      // this.getQueryDone();
+    },
+    handleCloses() {
+      this.treeList = [];
+      this.textarea = "";
+      this.handleStatus = false;
+      this.destroy = false;
+      this.dialogStatus = false;
+      this.saveStatus = false;
+      this.startStatus = true;
+      // this.closeStatus = true;
+    },
+    beforeClose() {
+      this.dialogStatus = false;
+      this.handleCloses();
+      this.getQueryList();
+      this.getMeLaunch();
+      this.getQueryDone();
+    },
+  },
+  watch: {
+    fromList: {
+      handler(newVal) {
+        console.log(newVal);
+      },
+    },
+  },
+};
+</script>
+
+<style lang="scss" scoped>
+//设置子组件样式
+::v-deep .el-tabs__item {
+  padding: 0;
+  margin-right: 20px;
+  width: 166px;
+  text-align: center;
+  background-color: #d8eaf6;
+  color: black;
+}
+
+::v-deep .is-active {
+  color: #fff;
+  background-color: #0583cd;
+}
+
+::v-deep .el-tabs__active-bar {
+  display: none;
+}
+
+::v-deep .el-tabs__nav-wrap::after {
+  display: none !important;
+}
+
+.flex-form {
+  margin-top: 50px;
+}
+
+.flex-box {
+  display: flex;
+  // overflow: auto;
+  overflow-y: auto;
+  overflow-x: hidden;
+  width: calc(100% - 40px);
+  border-radius: 20px;
+  background-color: #fff;
+  margin: 0 auto;
+  margin-top: 20px;
+  position: relative;
+  flex-direction: column;
+
+  // height: 100%;
+  .flex-header {
+    display: flex;
+    width: 100%;
+    position: relative;
+    height: 60px;
+    margin: 1%;
+    border-bottom: 1px solid #e1e1e1;
+    justify-content: space-between;
+
+    .el-button {
+      width: 150px;
+      float: right;
+      height: 40px !important;
+      margin-right: 30px;
+    }
+  }
+}
+</style>

+ 6 - 0
src/router/index.js

@@ -2186,6 +2186,12 @@ const routes = [{
             name: 'riskManagement',
             component: (resolve) => require( /* webpackChunkName: "system" */
                 ['../pages/main/leader/risk/riskManagement.vue'], resolve)
+        },{
+            meta: { name: '资费管理', keepAlive: false },
+            path: '/postage',
+            name: 'postage',
+            component: (resolve) => require( /* webpackChunkName: "system" */
+                ['../pages/main/postage/index.vue'], resolve)
         },
     ]
 },

+ 5 - 24
vue.config.js

@@ -94,11 +94,7 @@ module.exports = {
         proxy: {
             // 开发环境变化可注释 ⬇️⬇️
             "/market/CMK": {
-<<<<<<< HEAD
-                target: "http://43.138.50.94:9600",
-=======
                 target: "http://192.168.2.124:9113",
->>>>>>> 994fc041f082ba5e33229f3e58f7c4b6c7b355c4
                 ws: false,
                 changeOrigin: true,
                 pathRewrite: {
@@ -106,11 +102,7 @@ module.exports = {
                 },
             },
             "/market/mk": {
-<<<<<<< HEAD
-                target: "http://43.138.50.94:9600",
-=======
                 target: "http://192.168.2.124:9113",
->>>>>>> 994fc041f082ba5e33229f3e58f7c4b6c7b355c4
                 ws: false,
                 changeOrigin: true,
                 pathRewrite: {
@@ -118,11 +110,7 @@ module.exports = {
                 },
             },
             "/market/techcentergj": {
-<<<<<<< HEAD
-                target: "http://43.138.50.94:9600",
-=======
                 target: "http://192.168.2.124:9113",
->>>>>>> 994fc041f082ba5e33229f3e58f7c4b6c7b355c4
                 ws: false,
                 changeOrigin: true,
                 pathRewrite: {
@@ -130,11 +118,7 @@ module.exports = {
                 },
             },
             "/mkWangge": {
-<<<<<<< HEAD
-                target: "http://43.138.50.94:9600",
-=======
                 target: "http://192.168.2.124:9113",
->>>>>>> 994fc041f082ba5e33229f3e58f7c4b6c7b355c4
                 ws: false,
                 changeOrigin: true,
                 pathRewrite: {
@@ -158,17 +142,14 @@ module.exports = {
                 // target: 'http://192.168.1.9:9600/spfm',
                 // target: 'http://127.0.0.1:9600/',
                 // target: 'http://192.168.0.156:9600/',
-<<<<<<< HEAD
-                // target: 'http://192.168.2.170:9600/',
-                // target: 'http://192.168.2.169:9600/',
-                target: "http://192.168.2.124:9600/",
-                // target:'http://43.138.50.94:9600',
-=======
+                // target: 'http://192.168.2.92:9600/',
+                // target: 'http://192.168.2.124:9600/',
+                // target: "http://124.223.66.248:9600",
+                target: "http://43.138.50.94:9600",
                 // target: 'http://192.168.2.44:9600/',
-                target: 'http://192.168.2.124:9600/',
+                // target: 'http://192.168.2.124:9600/',
                 // target: "http://124.223.66.248:9600",
                 // target: "http://43.138.50.94:9600",
->>>>>>> 994fc041f082ba5e33229f3e58f7c4b6c7b355c4
                 changeOrigin: true,
             },
         },