zhengnaiwen_citu il y a 5 mois
Parent
commit
65c3e22353

+ 4 - 0
src/styles/orangeTheme.scss

@@ -35,6 +35,10 @@
   border-color: $theme-color;
 }
 
+.el-dropdown-menu__item:not(.is-disabled):hover {
+  background-color: lighten($theme-color, 38%);
+  color: $theme-color;
+}
 
 // 定义主题颜色(仿照 Element UI)
 $orange-color: $theme-color;

+ 25 - 130
src/views/salary/solution/salarySolution/salarySolutionRules.vue

@@ -5,102 +5,23 @@
         <el-tag color="primary">{{ itemData.title }}</el-tag>
       </el-form-item>
       <el-form-item label="类型">
-        <el-tabs v-model="activeName" @tab-click="handleClick">
-          <el-tab-pane label="用户管理" name="first">用户管理</el-tab-pane>
-          <el-tab-pane label="配置管理" name="second">配置管理</el-tab-pane>
-          <el-tab-pane label="角色管理" name="third">角色管理</el-tab-pane>
-          <el-tab-pane label="定时任务补偿" name="fourth">定时任务补偿</el-tab-pane>
-        </el-tabs>
-      </el-form-item>
-      <el-form-item label="参数配置">
-        <m-table
-          shadow="naver"
-          clearHeader
-          :items="formQuery.items"
-          :headers="[
-            { label: '参数', prop: 'label' },
-            { label: '数值', prop: 'value' },
-            { label: '操作', prop: 'actions' }
-          ]"
-        >
-          <div class="text-center mt-3">
-            <m-button icon="el-icon-plus" type="orange" size="small" @click="onAdd">添加一行</m-button>
-          </div>
-          <template #label="scope">
-            <el-form-item
-              :prop="`items.${scope.$index}.label`"
-              :rules="{ required: true, message: '请输入参数名称', trigger: 'blur' }"
-            >
-              <el-input
-                size="small"
-                v-model="formQuery.items[scope.$index].label"
-                placeholder="请输入值"
-                type="textarea"
-                :autosize="{ minRows: 1, maxRows: 4}"
-              ></el-input>
-            </el-form-item>
-          </template>
-          <template #value="scope">
-            <el-form-item
-              :prop="`items.${scope.$index}.value`"
-              :rules="{ required: true, message: '请输入值', trigger: 'blur' }"
-            >
-              <el-input-number
-                size="small"
-                v-model="formQuery.items[scope.$index].value"
-                placeholder="参数名称"
-              ></el-input-number>
-            </el-form-item>
-          </template>
-          <template #actions="scope">
-            <m-button size="small" text type="danger" @click="onDelete(scope)">删除</m-button>
-          </template>
-        </m-table>
-      </el-form-item>
-      <el-form-item label="计算公式">
-        <m-card shadow="never">
-          <el-tree
-            :data="formula"
-            node-key="uuid"
-            ref="formulaTreeRefs"
-            default-expand-all
-            :expand-on-click-node="false"
+        <el-tabs v-model="editableTabsValue" type="card" editable @edit="onTabsEdit">
+          <el-tab-pane
+            v-for="tab in editableTabs"
+            :key="tab.name"
+            :label="tab.label"
+            :name="tab.name"
           >
-            <div class="custom-tree-node" slot-scope="{ data, node }">
-              <el-input size="small" v-model="data.content" style="width: 400px" placeholder="描述文字"></el-input>
-              <template v-if="node.level > 7">
-                <el-dropdown @command="e => onCommon(e, data)">
-                  <m-button size="small" class="ml-3">
-                    查看更多
-                  </m-button>
-                  <el-dropdown-menu slot="dropdown">
-                    <el-dropdown-item
-                      v-for="(item, index) in btnList"
-                      :key="item.label"
-                      :command="index"
-                    >{{ item.label }}</el-dropdown-item>
-                  </el-dropdown-menu>
-                </el-dropdown>
-              </template>
-              <template v-else>
-                <el-button
-                  v-for="item in btnList"
-                  :key="item.label"
-                  class="ml-3"
-                  size="small"
-                  @click="item.click(data)">
-                  {{ item.label }}
-                </el-button>
-              </template>
-            </div>
-          </el-tree>
-        </m-card>
+            <SalarySolutionRulesEdit :formula="formula"></SalarySolutionRulesEdit>
+          </el-tab-pane>
+        </el-tabs>
       </el-form-item>
     </el-form>
   </m-dialog>
 </template>
 
 <script>
+import SalarySolutionRulesEdit from './salarySolutionRulesEdit.vue'
 import {
   saveSolution,
   getConfigPage,
@@ -110,29 +31,28 @@ import {
 
 export default {
   name: 'salary-solution-rules',
+  components: {
+    SalarySolutionRulesEdit
+  },
   data () {
     return {
-      btnList: [
-        { label: '同级追加', click: this.onInsertAfter },
-        { label: '插入下一级', click: this.onAppend },
-        { label: '删除', click: this.onRemove }
+      editableTabsValue: 1,
+      editableTabs: [
+        { label: '分类1', name: 1, content: null }
       ],
-      formQuery: {
-        items: []
-      },
       formula: [
         {
           uuid: '1',
           content: null
         }
       ],
-      headers: [
-        { label: '启用', prop: 'status', width: 80 },
-        { label: '参数名称', prop: 'name', align: 'left' },
-        { label: '数值', prop: 'value' }
-      ],
+      // headers: [
+      //   { label: '启用', prop: 'status', width: 80 },
+      //   { label: '参数名称', prop: 'name', align: 'left' },
+      //   { label: '数值', prop: 'value' }
+      // ],
       itemData: {},
-      options: [],
+      // options: [],
       loading: false,
       categories: [], // 所有分类
       allParams: [], // 所有参数
@@ -206,34 +126,6 @@ export default {
         }
       })
     },
-    onAdd () {
-      this.formQuery.items.push({ label: null, value: 0 })
-    },
-    onDelete (scope) {
-      this.$confirm('确定要删除吗?', '提示').then(e => {
-        this.formQuery.items.splice(scope.$index, 1)
-      }).catch(_ => {})
-    },
-    onRemove (data) {
-      this.$confirm('确定要删除吗?', '提示').then(e => {
-        this.$refs.formulaTreeRefs.remove(data)
-      }).catch(_ => {})
-    },
-    onInsertAfter (data) {
-      this.$refs.formulaTreeRefs.insertAfter({
-        uuid: Date.now(),
-        content: null
-      }, data)
-    },
-    onAppend (data) {
-      this.$refs.formulaTreeRefs.append({
-        uuid: Date.now(),
-        content: null
-      }, data)
-    },
-    onCommon (index, data) {
-      this.btnList[index].click(data)
-    },
     async onSure () {
       if (this.paramsSelection.length === 0) {
         this.$message.error('请选择参数')
@@ -268,6 +160,9 @@ export default {
       } catch (error) {
         this.$message.error(error)
       }
+    },
+    onTabsEdit (targetName, action) {
+
     }
   }
 }

+ 156 - 0
src/views/salary/solution/salarySolution/salarySolutionRulesEdit.vue

@@ -0,0 +1,156 @@
+<template>
+  <m-card shadow="never">
+    <el-form-item label="参数配置" class="mb-3">
+      <m-table
+        shadow="naver"
+        clearHeader
+        :items="formQuery.items"
+        :headers="[
+          { label: '参数', prop: 'label' },
+          { label: '数值', prop: 'value' },
+          { label: '操作', prop: 'actions' }
+        ]"
+      >
+        <div class="text-center mt-3">
+          <m-button icon="el-icon-plus" type="orange" size="small" @click="onAdd">添加一行</m-button>
+        </div>
+        <template #label="scope">
+          <el-form-item
+            :prop="`items.${scope.$index}.label`"
+            :rules="{ required: true, message: '请输入参数名称', trigger: 'blur' }"
+          >
+            <el-input
+              size="small"
+              v-model="formQuery.items[scope.$index].label"
+              placeholder="请输入值"
+              type="textarea"
+              :autosize="{ minRows: 1, maxRows: 4}"
+            ></el-input>
+          </el-form-item>
+        </template>
+        <template #value="scope">
+          <el-form-item
+            :prop="`items.${scope.$index}.value`"
+            :rules="{ required: true, message: '请输入值', trigger: 'blur' }"
+          >
+            <el-input-number
+              size="small"
+              v-model="formQuery.items[scope.$index].value"
+              placeholder="参数名称"
+            ></el-input-number>
+          </el-form-item>
+        </template>
+        <template #actions="scope">
+          <m-button size="small" text type="danger" @click="onDelete(scope)">删除</m-button>
+        </template>
+      </m-table>
+    </el-form-item>
+    <el-form-item label="计算公式">
+      <m-card shadow="never">
+        <el-tree
+          :data="formulaData"
+          node-key="uuid"
+          ref="formulaTreeRefs"
+          default-expand-all
+          :expand-on-click-node="false"
+        >
+          <div class="custom-tree-node" slot-scope="{ data, node }">
+            <el-input size="small" v-model="data.content" style="width: 300px" placeholder="描述文字"></el-input>
+            <template v-if="node.level > 6">
+              <el-dropdown @command="e => onCommon(e, data)">
+                <m-button size="small" class="ml-3">
+                  查看更多
+                </m-button>
+                <el-dropdown-menu slot="dropdown">
+                  <el-dropdown-item
+                    v-for="(item, index) in btnList"
+                    :key="item.label"
+                    :command="index"
+                  >{{ item.label }}</el-dropdown-item>
+                </el-dropdown-menu>
+              </el-dropdown>
+            </template>
+            <template v-else>
+              <el-button
+                v-for="item in btnList"
+                :key="item.label"
+                class="ml-3"
+                size="small"
+                @click="item.click(data)">
+                {{ item.label }}
+              </el-button>
+            </template>
+          </div>
+        </el-tree>
+      </m-card>
+    </el-form-item>
+  </m-card>
+</template>
+
+<script>
+export default {
+  name: 'salarySolutionRulesEdit',
+  props: {
+    formula: {
+      type: Array,
+      default: () => []
+    }
+  },
+  data () {
+    return {
+      formQuery: {
+        items: []
+      },
+      formulaData: [],
+      btnList: [
+        { label: '同级追加', click: this.onInsertAfter },
+        { label: '插入下一级', click: this.onAppend },
+        { label: '删除', click: this.onRemove }
+      ]
+    }
+  },
+  watch: {
+    formula: {
+      handler (val) {
+        this.formulaData = [...val]
+      },
+      immediate: true,
+      deep: true
+    }
+  },
+  methods: {
+    onAdd () {
+      this.formQuery.items.push({ label: null, value: 0 })
+    },
+    onDelete (scope) {
+      this.$confirm('确定要删除吗?', '提示').then(e => {
+        this.formQuery.items.splice(scope.$index, 1)
+      }).catch(_ => {})
+    },
+    onRemove (data) {
+      this.$confirm('确定要删除吗?', '提示').then(e => {
+        this.$refs.formulaTreeRefs.remove(data)
+      }).catch(_ => {})
+    },
+    onInsertAfter (data) {
+      this.$refs.formulaTreeRefs.insertAfter({
+        uuid: Date.now(),
+        content: null
+      }, data)
+    },
+    onAppend (data) {
+      this.$refs.formulaTreeRefs.append({
+        uuid: Date.now(),
+        content: null
+      }, data)
+    },
+    onCommon (index, data) {
+      this.btnList[index].click(data)
+    }
+  }
+}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 12 - 2
src/views/workOrder/components/IndexPage.vue

@@ -10,6 +10,9 @@
       :total="total"
       @page-change="onPageChange"
     >
+      <template #status="scope">
+        <el-tag size="small" :type="statusList[scope.$index].color">{{ statusList[scope.$index].text }}</el-tag>
+      </template>
       <!-- <template #opType="{ row }">
         <el-tag size="small" :type="statusList[row.opType].color">{{ statusList[row.opType].text }}</el-tag>
       </template> -->
@@ -41,6 +44,12 @@ export default {
   },
   data () {
     return {
+      statusList: [
+        { text: '开始', color: 'default' },
+        { text: '审批通过', color: 'success' },
+        { text: '审批拒绝', color: 'danger' },
+        { text: '异常结束', color: 'warning' }
+      ],
       searchItems: [
         {
           label: '名称',
@@ -55,10 +64,11 @@ export default {
         title: null
       },
       headers: [
-        { label: '名称', prop: 'title' },
+        { label: '审批功能名称', prop: 'title' },
         { label: '发起人', prop: 'createUserName' },
         { label: '发起时间', prop: 'createDate' },
-        { label: '版本号', prop: 'version' },
+        { label: '审核状态', prop: 'status', align: 'center' },
+        { label: '工作流版本号', prop: 'version' },
         { label: '操作', prop: 'actions', fixed: 'right', width: 300 }
       ],
       items: [],