Przeglądaj źródła

人员看板检验科统计变更

shenqilong 11 miesięcy temu
rodzic
commit
e0c9c81462

+ 28 - 31
src/views/component/sjzlpjjhx/sjzlpjjhx.vue

@@ -71,7 +71,7 @@
                         >
                             <template slot-scope="{row}">
                                 <el-select
-                                    v-if="!isRead&&!row.yidengji"
+                                    v-if="!isRead&&!(row.shiFouYiDengJi==='1')"
                                     v-model="row.yanZhengLeiXing"
                                     placeholder="请选择"
                                     name="yanZhengLeiXing"
@@ -106,7 +106,7 @@
                         >
                             <template slot-scope="{row}">
                                 <el-input
-                                    v-if="!isRead&&!row.yidengji"
+                                    v-if="!isRead&&!(row.shiFouYiDengJi==='1')"
                                     v-model="row.huoDongMing"
                                     size="mini"
 
@@ -123,7 +123,7 @@
                             <template slot-scope="{row}">
 
                                 <ibps-link-data
-                                    v-if="!isRead&&!row.yidengji"
+                                    v-if="!isRead&&!(row.shiFouYiDengJi==='1')"
                                     v-model="row.tiGongZhe"
 
                                     size="mini"
@@ -147,7 +147,7 @@
                             <template slot-scope="{row}">
 
                                 <ibps-link-data
-                                    v-if="!isRead&&!row.yidengji"
+                                    v-if="!isRead&&!(row.shiFouYiDengJi==='1')"
                                     v-model="row.biDuiFang"
 
                                     size="mini"
@@ -171,7 +171,7 @@
                         >
                             <template slot-scope="{row}">
                                 <el-input
-                                    v-if="!isRead&&!row.yidengji"
+                                    v-if="!isRead&&!(row.shiFouYiDengJi==='1')"
                                     v-model="row.xuHao"
                                     size="mini"
                                     placeholder="请输入"
@@ -185,7 +185,7 @@
                         >
                             <template slot-scope="{row}">
                                 <el-input
-                                    v-if="!isRead&&!row.yidengji"
+                                    v-if="!isRead&&!(row.shiFouYiDengJi==='1')"
                                     v-model="row.jianYanXiangMu"
                                     size="mini"
 
@@ -200,7 +200,7 @@
                         >
                             <template slot-scope="{row}">
                                 <el-input
-                                    v-if="!isRead&&!row.yidengji"
+                                    v-if="!isRead&&!(row.shiFouYiDengJi==='1')"
                                     v-model="row.jiHuaShiJian"
                                     size="mini"
 
@@ -217,7 +217,7 @@
                                 <ibps-user-selector
 
                                     v-model="row.canYuRenYuan"
-                                    :disabled="isRead"
+                                    :disabled="!(!isRead&&!(row.shiFouYiDengJi==='1'))"
                                     readonly-text="text"
                                     type="user"
                                     :multiple="true"
@@ -236,7 +236,7 @@
                             </template>
                             <template slot-scope="{row}">
                                 <el-input
-                                    v-if="!isRead&&!row.yidengji"
+                                    v-if="!isRead&&!(row.shiFouYiDengJi==='1')"
                                     v-model="row.zuHe"
                                     size="mini"
 
@@ -320,7 +320,6 @@ export default {
             handler (value, old) {
                 if (value) {
                     this.sjzlpjjhxData = value
-                    this.getData()
                 }
             }
         },
@@ -335,21 +334,6 @@ export default {
         this.isRead = this.readonly || this.params.nodeId === 'Activity_1lhe4zd' || this.params.nodeId === 'Activity_0rkcq41'
     },
     methods: {
-        getData () {
-            const sql = `select * FROM t_sjzkwjsdjxqb`
-            this.$common.request('sql', sql).then(res => {
-                const { data = [] } = res.variables || {}
-                const yidengjilist = data.map(item => {
-                    return item.ji_hua_zi_biao_id
-                })
-                console.log(yidengjilist)
-
-                for (const item of this.sjzlpjjhxData) {
-                    item.yidengji = yidengjilist.includes(item.id)
-                }
-                console.log(this.sjzlpjjhxData)
-            })
-        },
 
         handleSelectionChange (val) {
             this.multipleSelection = val
@@ -358,7 +342,7 @@ export default {
         handleActionEvent (type) {
             switch (type) {
                 case 'add':
-                    console.info('新增')
+                    // console.info('新增')
                     this.sjzlpjjhxData.push({
                         id: '',
                         parentId: '',
@@ -370,29 +354,36 @@ export default {
                         jianYanXiangMu: '',
                         jiHuaShiJian: '',
                         canYuRenYuan: '',
-                        zuHe: ''
+                        zuHe: '',
+                        shiFouYiDengJi: '0'
                     })
 
                     break
                 case 'edit':
-                    console.info('修改')
+                    // console.info('修改')
                     break
                 case 'remove':
-                    console.info('删除')
+                    // console.info('删除')
                     this.$confirm('确定删除当前选中数据?', '提示', {
                         confirmButtonText: '确定',
                         cancelButtonText: '取消',
                         type: 'warning'
                     }).then(() => {
                         if (this.multipleSelection.length > 0) {
-                            this.sjzlpjjhxData = this.sjzlpjjhxData.filter(row => !this.multipleSelection.includes(row))
+                            // console.log(this.multipleSelection.find(item => item.shiFouYiDengJi === '1'))
+
+                            if (this.multipleSelection.find(item => item.shiFouYiDengJi === '1')) {
+                                this.$message.warning('选择数据有已有登记记录的数据,请重新选择')
+                            } else {
+                                this.sjzlpjjhxData = this.sjzlpjjhxData.filter(row => !this.multipleSelection.includes(row))
+                            }
                         } else {
                             this.$message.warning('请选择数据')
                         }
                     })
                     break
                 case 'importData':
-                    console.info('导入')
+                    // console.info('导入')
                     this.showImportTable = true
                     break
                 case 'exportData':
@@ -400,6 +391,12 @@ export default {
                     break
                 case 'copy':
                     if (this.multipleSelection.length > 0) {
+                        // console.log(this.multipleSelection)
+                        for (const item of this.multipleSelection) {
+                            if (item.id) {
+                                item.id = ''
+                            }
+                        }
                         this.sjzlpjjhxData = this.sjzlpjjhxData.concat(cloneDeep(this.multipleSelection))
                     } else {
                         this.$message.warning('请选择数据')

+ 35 - 52
src/views/peopleManages/taskStatistics/index.vue

@@ -1066,35 +1066,26 @@ export default {
                             t_ryjbqk 
                         WHERE
                             parent_id_ IN (
+                        select
+                            ee.id_ as bid
+                        FROM
+                        (
                             SELECT
-                                b.id_ AS bid 
+                                e.*
                             FROM
-                                (
-                                SELECT
-                                    a.* 
-                                FROM
-                                    (
-                                    SELECT
-                                        id_,
-                                        name_,
-                                        TRIM(
-                                        SUBSTRING_INDEX( SUBSTRING_INDEX( positions_, ',', n ), ',', - 1 )) AS positions_ 
-                                    FROM
-                                        ibps_party_employee
-                                        JOIN (${this.$store.getters.deptList.length > 2 ? sqlparty : a}) AS numbers 
-                                    WHERE
-                                        LENGTH( positions_ ) - LENGTH(
-                                        REPLACE ( positions_, ',', '' )) >= n - 1 
-                                        and name_ not like '%系统%'
-                                        and name_ not like '%金通%'
-                                        and name_ not like '%管理%'
-                                        and id_ != '702117247933480960'
-                                    ) a 
-                                GROUP BY
-                                    name_ 
-                                ) b 
+                                ibps_party_employee e
+                                JOIN ibps_party_entity en ON FIND_IN_SET( en.id_, e.POSITIONS_ ) > 0 
+                            WHERE
+                                en.PATH_ LIKE '%${this.depth3}%' 
+                            GROUP BY
+                                e.id_ 
+                            ) ee
                         WHERE
-                            b.positions_ IN ( SELECT id_ FROM ibps_party_entity WHERE path_ LIKE '%${this.first}%' AND party_type_ = 'position' ))`
+                        ee.name_ NOT LIKE '%系统%' 
+                            AND ee.STATUS_ = 'actived'
+                            AND ee.name_ NOT LIKE '%金通%' 
+                            AND ee.name_ NOT LIKE '%管理%' 
+                            AND ee.id_ != '702117247933480960')`
 
             await curdPost('sql', sql).then((res) => {
                 data = res.variables.data
@@ -1203,35 +1194,27 @@ export default {
                             t_ryjbqk 
                         WHERE
                             parent_id_ IN (
+						select
+                            ee.id_ as bid
+                        FROM
+                        (
                             SELECT
-                                b.id_ AS bid 
+                                e.*
                             FROM
-                                (
-                                SELECT
-                                    a.* 
-                                FROM
-                                    (
-                                    SELECT
-                                        id_,
-                                        name_,
-                                        TRIM(
-                                        SUBSTRING_INDEX( SUBSTRING_INDEX( positions_, ',', n ), ',', - 1 )) AS positions_ 
-                                    FROM
-                                        ibps_party_employee
-                                        JOIN (${this.$store.getters.deptList.length > 2 ? sqlparty : a}) AS numbers 
-                                    WHERE
-                                        LENGTH( positions_ ) - LENGTH(
-                                        REPLACE ( positions_, ',', '' )) >= n - 1 
-                                        and name_ not like '%系统%'
-                                        and name_ not like '%金通%'
-                                        and name_ not like '%管理%'
-                                        and id_ != '702117247933480960'
-                                    ) a 
-                                GROUP BY
-                                    name_ 
-                                ) b 
+                                ibps_party_employee e
+                                JOIN ibps_party_entity en ON FIND_IN_SET( en.id_, e.POSITIONS_ ) > 0 
+                            WHERE
+                                en.PATH_ LIKE '%${this.depth3}%' 
+                            GROUP BY
+                                e.id_ 
+                            ) ee
                         WHERE
-                            b.positions_ IN ( SELECT id_ FROM ibps_party_entity WHERE path_ LIKE '%${this.depth3}%' AND party_type_ = 'position' ))`
+                        ee.name_ NOT LIKE '%系统%' 
+                            AND ee.STATUS_ = 'actived'
+                            AND ee.name_ NOT LIKE '%金通%' 
+                            AND ee.name_ NOT LIKE '%管理%' 
+                            AND ee.id_ != '702117247933480960'
+														)`
 
             await curdPost('sql', sql).then((res) => {
                 const data = res.variables.data