Merge branch 'dev-defuj' of github.com:defuj/eis into dev-bagus
This commit is contained in:
commit
c842088e63
@ -21,5 +21,5 @@ jobs:
|
|||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
- name: Build the Docker image
|
- name: Build the Docker image
|
||||||
run: |
|
run: |
|
||||||
docker build . -t defuj/apkt-eis:v0.0.25-dev
|
docker build . --file Dockerfile --tag defuj/apkt-eis:v0.0.5-vm
|
||||||
docker push defuj/apkt-eis:v0.0.25-dev
|
docker push defuj/apkt-eis:v0.0.5-vm
|
||||||
|
3
.github/workflows/docker-image-release.yml
vendored
3
.github/workflows/docker-image-release.yml
vendored
@ -23,8 +23,7 @@ jobs:
|
|||||||
|
|
||||||
- name: Build the Docker image
|
- name: Build the Docker image
|
||||||
run: |
|
run: |
|
||||||
docker build . -t defuj/apkt-eis
|
docker build . --file Dockerfile --tag defuj/apkt-eis:v1.0.1-release
|
||||||
docker image tag defuj/apkt-eis defuj/apkt-eis:v1.0.1-release
|
|
||||||
docker push defuj/apkt-eis:v1.0.1-release
|
docker push defuj/apkt-eis:v1.0.1-release
|
||||||
|
|
||||||
|
|
||||||
|
1
.gitignore
vendored
1
.gitignore
vendored
@ -11,6 +11,7 @@ lerna-debug.log*
|
|||||||
node_modules
|
node_modules
|
||||||
.DS_Store
|
.DS_Store
|
||||||
dist
|
dist
|
||||||
|
build
|
||||||
dist-ssr
|
dist-ssr
|
||||||
coverage
|
coverage
|
||||||
*.local
|
*.local
|
||||||
|
27
Dockerfile
27
Dockerfile
@ -1,19 +1,18 @@
|
|||||||
FROM node:lts-alpine as build-stage
|
# FROM node:lts-alpine as build-stage
|
||||||
WORKDIR /app
|
# WORKDIR /app
|
||||||
# COPY package*.json ./
|
# COPY package*.json ./
|
||||||
# RUN npm install
|
# RUN npm install
|
||||||
COPY . .
|
# COPY . .
|
||||||
RUN npm run build
|
# RUN npm run build
|
||||||
|
|
||||||
# tahap produksi
|
# FROM nginx:stable-alpine as production-stage
|
||||||
FROM nginx:stable-alpine as production-stage
|
# COPY --from=build-stage /app/build /usr/share/nginx/html
|
||||||
COPY --from=build-stage /app/dist /usr/share/nginx/html
|
# COPY --from=build-stage /app/nginx.conf /etc/nginx/nginx.conf
|
||||||
COPY --from=build-stage /app/nginx.conf /etc/nginx/nginx.conf
|
|
||||||
EXPOSE 32166
|
|
||||||
CMD ["nginx", "-g", "daemon off;"]
|
|
||||||
|
|
||||||
# FROM nginx:stable-alpine
|
|
||||||
# COPY /dist /usr/share/nginx/html
|
|
||||||
# COPY /nginx.conf /etc/nginx/nginx.conf
|
|
||||||
# EXPOSE 32166
|
# EXPOSE 32166
|
||||||
# CMD ["nginx", "-g", "daemon off;"]
|
# CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
|
||||||
|
FROM nginx:stable-alpine
|
||||||
|
COPY /build /usr/share/nginx/html
|
||||||
|
COPY /nginx.conf /etc/nginx/nginx.conf
|
||||||
|
EXPOSE 32166
|
||||||
|
CMD ["nginx", "-g", "daemon off;"]
|
||||||
|
76
README.md
76
README.md
@ -1,52 +1,26 @@
|
|||||||
# Executive Information System
|
# TABLE MENU DOCUMENTATION
|
||||||
|
## Monalisa
|
||||||
|
### Gangguan > Rekapitulasi
|
||||||
|
| CODE | MENU | FILE |
|
||||||
|
| ------- | ---------------------------------------- | ------------ |
|
||||||
|
| MON0001 | Jumlah Kali Gangguan | Table_36.vue |
|
||||||
|
| MON0002 | Dispacthing Time (DT) Gangguan | Table_37.vue |
|
||||||
|
| MON0003 | Recovery Time (RCT) Gangguan | Table_38.vue |
|
||||||
|
| MON0004 | Response Time (RPT) Gangguan | Table_39.vue |
|
||||||
|
| MON0005 | Jumlah dan Durasi RPT RCT Gangguan | Table_40.vue |
|
||||||
|
| MON0006 | Rekapitulasi Gangguan Per Jenis Gangguan | Table_41.vue |
|
||||||
|
| MON0007 | Rekapitulasi Lapor Ulang Gangguan | Table_42.vue |
|
||||||
|
| MON0008 | Rekapitulasi ENS Gangguan | Table_43.vue |
|
||||||
|
| MON0009 | Rekapitulasi Gangguan Belum Selesai | Table_44.vue |
|
||||||
|
| MON0010 | Jumlah Kali Keluhan | Table_45.vue |
|
||||||
|
| MON0011 | Recovery Time (RCT) Keluhan | Table_46.vue |
|
||||||
|
| MON0012 | Response Time (RPT) Keluhan | Table_47.vue |
|
||||||
|
| MON0013 | Jumlah dan Durasi RPT RCT Keluhan | Table_48.vue |
|
||||||
|
| MON0014 | Rekapitulasi Gangguan Per Jenis Keluhan | Table_49.vue |
|
||||||
|
| MON0015 | Rekapitulasi Lapor Ulang Keluhan | Table_50.vue |
|
||||||
|
| MON0016 | Rekapitulasi Gangguan Belum Selesai | Table_51.vue |
|
||||||
|
|
||||||
This template should help get you started developing with Vue 3 in Vite.
|
### Keluhan > Rekapitulasi
|
||||||
|
| CODE | MENU | FILE |
|
||||||
## Recommended IDE Setup
|
| ------- | ------------------- | ------------ |
|
||||||
|
| MON0010 | Jumlah Kali Keluhan | Table_45.vue |
|
||||||
[VSCode](https://code.visualstudio.com/) + [Volar](https://marketplace.visualstudio.com/items?itemName=Vue.volar) (and disable Vetur) + [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin).
|
|
||||||
|
|
||||||
## Type Support for `.vue` Imports in TS
|
|
||||||
|
|
||||||
TypeScript cannot handle type information for `.vue` imports by default, so we replace the `tsc` CLI with `vue-tsc` for type checking. In editors, we need [TypeScript Vue Plugin (Volar)](https://marketplace.visualstudio.com/items?itemName=Vue.vscode-typescript-vue-plugin) to make the TypeScript language service aware of `.vue` types.
|
|
||||||
|
|
||||||
If the standalone TypeScript plugin doesn't feel fast enough to you, Volar has also implemented a [Take Over Mode](https://github.com/johnsoncodehk/volar/discussions/471#discussioncomment-1361669) that is more performant. You can enable it by the following steps:
|
|
||||||
|
|
||||||
1. Disable the built-in TypeScript Extension
|
|
||||||
1) Run `Extensions: Show Built-in Extensions` from VSCode's command palette
|
|
||||||
2) Find `TypeScript and JavaScript Language Features`, right click and select `Disable (Workspace)`
|
|
||||||
2. Reload the VSCode window by running `Developer: Reload Window` from the command palette.
|
|
||||||
|
|
||||||
## Customize configuration
|
|
||||||
|
|
||||||
See [Vite Configuration Reference](https://vitejs.dev/config/).
|
|
||||||
|
|
||||||
## Project Setup
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm install
|
|
||||||
```
|
|
||||||
|
|
||||||
### Compile and Hot-Reload for Development
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm run dev
|
|
||||||
```
|
|
||||||
|
|
||||||
### Type-Check, Compile and Minify for Production
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm run build
|
|
||||||
```
|
|
||||||
|
|
||||||
### Run Unit Tests with [Vitest](https://vitest.dev/)
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm run test:unit
|
|
||||||
```
|
|
||||||
|
|
||||||
### Lint with [ESLint](https://eslint.org/)
|
|
||||||
|
|
||||||
```sh
|
|
||||||
npm run lint
|
|
||||||
```
|
|
@ -14,7 +14,7 @@ spec:
|
|||||||
spec:
|
spec:
|
||||||
containers:
|
containers:
|
||||||
- name: apkt-eis
|
- name: apkt-eis
|
||||||
image: defuj/apkt-eis:v0.0.23-dev
|
image: defuj/apkt-eis:v0.0.5-vm
|
||||||
ports:
|
ports:
|
||||||
- containerPort: 80
|
- containerPort: 80
|
||||||
---
|
---
|
||||||
@ -44,4 +44,3 @@ spec:
|
|||||||
port: 32166
|
port: 32166
|
||||||
targetPort: 80
|
targetPort: 80
|
||||||
type: ClusterIP
|
type: ClusterIP
|
||||||
|
|
123
package-lock.json
generated
123
package-lock.json
generated
@ -71,7 +71,6 @@
|
|||||||
"tailwindcss": "^3.3.2",
|
"tailwindcss": "^3.3.2",
|
||||||
"tailwindcss-patch": "^2.2.2",
|
"tailwindcss-patch": "^2.2.2",
|
||||||
"typescript": "~5.2.2",
|
"typescript": "~5.2.2",
|
||||||
"unplugin-tailwindcss-mangle": "^2.2.2",
|
|
||||||
"vite": "^4.3.9",
|
"vite": "^4.3.9",
|
||||||
"vitest": "^0.34.6",
|
"vitest": "^0.34.6",
|
||||||
"vue-tsc": "^1.6.5"
|
"vue-tsc": "^1.6.5"
|
||||||
@ -166,12 +165,6 @@
|
|||||||
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
"resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz",
|
||||||
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
"integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg=="
|
||||||
},
|
},
|
||||||
"node_modules/@ast-core/escape": {
|
|
||||||
"version": "1.0.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/@ast-core/escape/-/escape-1.0.1.tgz",
|
|
||||||
"integrity": "sha512-/kVjBkDzYrSW1S+gTBCuOfhnNkge9qZFJgLT+MOZdmPN4Vts36S60uU5br3ozoxpJ1eRGe6pGy7/EfcOpFFHlA==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/@babel/code-frame": {
|
"node_modules/@babel/code-frame": {
|
||||||
"version": "7.23.5",
|
"version": "7.23.5",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz",
|
||||||
@ -537,23 +530,6 @@
|
|||||||
"@babel/core": "^7.0.0-0"
|
"@babel/core": "^7.0.0-0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/plugin-transform-modules-commonjs": {
|
|
||||||
"version": "7.23.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz",
|
|
||||||
"integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/helper-module-transforms": "^7.23.3",
|
|
||||||
"@babel/helper-plugin-utils": "^7.22.5",
|
|
||||||
"@babel/helper-simple-access": "^7.22.5"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6.9.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@babel/core": "^7.0.0-0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@babel/plugin-transform-typescript": {
|
"node_modules/@babel/plugin-transform-typescript": {
|
||||||
"version": "7.23.6",
|
"version": "7.23.6",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.23.6.tgz",
|
||||||
@ -572,25 +548,6 @@
|
|||||||
"@babel/core": "^7.0.0-0"
|
"@babel/core": "^7.0.0-0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@babel/preset-typescript": {
|
|
||||||
"version": "7.23.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.23.3.tgz",
|
|
||||||
"integrity": "sha512-17oIGVlqz6CchO9RFYn5U6ZpWRZIngayYCtrPRSgANSwC2V1Jb+iP74nVxzzXJte8b8BYxrL1yY96xfhTBrNNQ==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@babel/helper-plugin-utils": "^7.22.5",
|
|
||||||
"@babel/helper-validator-option": "^7.22.15",
|
|
||||||
"@babel/plugin-syntax-jsx": "^7.23.3",
|
|
||||||
"@babel/plugin-transform-modules-commonjs": "^7.23.3",
|
|
||||||
"@babel/plugin-transform-typescript": "^7.23.3"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=6.9.0"
|
|
||||||
},
|
|
||||||
"peerDependencies": {
|
|
||||||
"@babel/core": "^7.0.0-0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@babel/runtime": {
|
"node_modules/@babel/runtime": {
|
||||||
"version": "7.23.9",
|
"version": "7.23.9",
|
||||||
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz",
|
"resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz",
|
||||||
@ -1528,40 +1485,6 @@
|
|||||||
"dedent": "^1.5.1"
|
"dedent": "^1.5.1"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/@tailwindcss-mangle/core": {
|
|
||||||
"version": "2.2.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/@tailwindcss-mangle/core/-/core-2.2.2.tgz",
|
|
||||||
"integrity": "sha512-CFPQhX5xv+ru96Ty2l9gftL70EkVliU/HB8KKxW5O11CVSGKYU6+d6FFnWBFDq6yugArnlKle5q07U8J4Tj8aw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@ast-core/escape": "^1.0.1",
|
|
||||||
"@babel/core": "^7.22.20",
|
|
||||||
"@babel/helper-plugin-utils": "^7.22.5",
|
|
||||||
"@babel/preset-typescript": "^7.22.15",
|
|
||||||
"@babel/types": "^7.22.19",
|
|
||||||
"@tailwindcss-mangle/config": "^2.2.2",
|
|
||||||
"@tailwindcss-mangle/shared": "^2.2.2",
|
|
||||||
"fast-sort": "^3.4.0",
|
|
||||||
"magic-string": "^0.30.3",
|
|
||||||
"micromatch": "^4.0.5",
|
|
||||||
"parse5": "^7.1.2",
|
|
||||||
"postcss": "^8.4.30",
|
|
||||||
"postcss-selector-parser": "^6.0.13"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@tailwindcss-mangle/core/node_modules/postcss-selector-parser": {
|
|
||||||
"version": "6.0.15",
|
|
||||||
"resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz",
|
|
||||||
"integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"cssesc": "^3.0.0",
|
|
||||||
"util-deprecate": "^1.0.2"
|
|
||||||
},
|
|
||||||
"engines": {
|
|
||||||
"node": ">=4"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/@tailwindcss-mangle/shared": {
|
"node_modules/@tailwindcss-mangle/shared": {
|
||||||
"version": "2.2.2",
|
"version": "2.2.2",
|
||||||
"resolved": "https://registry.npmjs.org/@tailwindcss-mangle/shared/-/shared-2.2.2.tgz",
|
"resolved": "https://registry.npmjs.org/@tailwindcss-mangle/shared/-/shared-2.2.2.tgz",
|
||||||
@ -4980,12 +4903,6 @@
|
|||||||
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
|
"integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==",
|
||||||
"dev": true
|
"dev": true
|
||||||
},
|
},
|
||||||
"node_modules/fast-sort": {
|
|
||||||
"version": "3.4.0",
|
|
||||||
"resolved": "https://registry.npmjs.org/fast-sort/-/fast-sort-3.4.0.tgz",
|
|
||||||
"integrity": "sha512-c/cMBGA5mH3OYjaXedtLIM3hQjv+KuZuiD2QEH5GofNOZeQVDIYIN7Okc2AW1KPhk44g5PTZnXp8t2lOMl8qhQ==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/fastq": {
|
"node_modules/fastq": {
|
||||||
"version": "1.17.1",
|
"version": "1.17.1",
|
||||||
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
|
"resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz",
|
||||||
@ -9344,31 +9261,6 @@
|
|||||||
"node": ">= 4.0.0"
|
"node": ">= 4.0.0"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/unplugin": {
|
|
||||||
"version": "1.7.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/unplugin/-/unplugin-1.7.1.tgz",
|
|
||||||
"integrity": "sha512-JqzORDAPxxs8ErLV4x+LL7bk5pk3YlcWqpSNsIkAZj972KzFZLClc/ekppahKkOczGkwIG6ElFgdOgOlK4tXZw==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"acorn": "^8.11.3",
|
|
||||||
"chokidar": "^3.5.3",
|
|
||||||
"webpack-sources": "^3.2.3",
|
|
||||||
"webpack-virtual-modules": "^0.6.1"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/unplugin-tailwindcss-mangle": {
|
|
||||||
"version": "2.2.2",
|
|
||||||
"resolved": "https://registry.npmjs.org/unplugin-tailwindcss-mangle/-/unplugin-tailwindcss-mangle-2.2.2.tgz",
|
|
||||||
"integrity": "sha512-tbfva7OEQfY3SN/gT6a084Qqm/CvUdrQgrXIDeQPJGmRxH+mHeYP8WA49sGl0yz5LvSUKskneq1ylc4LOOmaYA==",
|
|
||||||
"dev": true,
|
|
||||||
"dependencies": {
|
|
||||||
"@tailwindcss-mangle/config": "^2.2.2",
|
|
||||||
"@tailwindcss-mangle/core": "^2.2.2",
|
|
||||||
"@tailwindcss-mangle/shared": "^2.2.2",
|
|
||||||
"magic-string": "^0.30.3",
|
|
||||||
"unplugin": "^1.5.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/unzipper": {
|
"node_modules/unzipper": {
|
||||||
"version": "0.10.14",
|
"version": "0.10.14",
|
||||||
"resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz",
|
"resolved": "https://registry.npmjs.org/unzipper/-/unzipper-0.10.14.tgz",
|
||||||
@ -9884,21 +9776,6 @@
|
|||||||
"node": ">=12"
|
"node": ">=12"
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"node_modules/webpack-sources": {
|
|
||||||
"version": "3.2.3",
|
|
||||||
"resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz",
|
|
||||||
"integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==",
|
|
||||||
"dev": true,
|
|
||||||
"engines": {
|
|
||||||
"node": ">=10.13.0"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"node_modules/webpack-virtual-modules": {
|
|
||||||
"version": "0.6.1",
|
|
||||||
"resolved": "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.1.tgz",
|
|
||||||
"integrity": "sha512-poXpCylU7ExuvZK8z+On3kX+S8o/2dQ/SVYueKA0D4WEMXROXgY8Ez50/bQEUmvoSMMrWcrJqCHuhAbsiwg7Dg==",
|
|
||||||
"dev": true
|
|
||||||
},
|
|
||||||
"node_modules/whatwg-encoding": {
|
"node_modules/whatwg-encoding": {
|
||||||
"version": "2.0.0",
|
"version": "2.0.0",
|
||||||
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
|
"resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz",
|
||||||
|
@ -11,8 +11,7 @@
|
|||||||
"build-only": "vite build",
|
"build-only": "vite build",
|
||||||
"type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
|
"type-check": "vue-tsc --noEmit -p tsconfig.vitest.json --composite false",
|
||||||
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
"lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore",
|
||||||
"format": "prettier --write src/",
|
"format": "prettier --write src/"
|
||||||
"prepare": "tw-patch install"
|
|
||||||
},
|
},
|
||||||
"dependencies": {
|
"dependencies": {
|
||||||
"@apollo/client": "^3.8.10",
|
"@apollo/client": "^3.8.10",
|
||||||
@ -78,7 +77,6 @@
|
|||||||
"tailwindcss": "^3.3.2",
|
"tailwindcss": "^3.3.2",
|
||||||
"tailwindcss-patch": "^2.2.2",
|
"tailwindcss-patch": "^2.2.2",
|
||||||
"typescript": "~5.2.2",
|
"typescript": "~5.2.2",
|
||||||
"unplugin-tailwindcss-mangle": "^2.2.2",
|
|
||||||
"vite": "^4.3.9",
|
"vite": "^4.3.9",
|
||||||
"vitest": "^0.34.6",
|
"vitest": "^0.34.6",
|
||||||
"vue-tsc": "^1.6.5"
|
"vue-tsc": "^1.6.5"
|
||||||
|
@ -5898,6 +5898,10 @@ body {
|
|||||||
width: 2.5rem;
|
width: 2.5rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.lg\:w-2\/6 {
|
||||||
|
width: 33.333333%;
|
||||||
|
}
|
||||||
|
|
||||||
.lg\:w-80 {
|
.lg\:w-80 {
|
||||||
width: 20rem;
|
width: 20rem;
|
||||||
}
|
}
|
||||||
@ -5906,10 +5910,24 @@ body {
|
|||||||
grid-template-columns: repeat(3, minmax(0, 1fr));
|
grid-template-columns: repeat(3, minmax(0, 1fr));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.lg\:flex-row {
|
||||||
|
flex-direction: row;
|
||||||
|
}
|
||||||
|
|
||||||
.lg\:flex-nowrap {
|
.lg\:flex-nowrap {
|
||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.lg\:justify-between {
|
||||||
|
justify-content: space-between;
|
||||||
|
}
|
||||||
|
|
||||||
|
.lg\:space-x-4 > :not([hidden]) ~ :not([hidden]) {
|
||||||
|
--tw-space-x-reverse: 0;
|
||||||
|
margin-right: calc(1rem * var(--tw-space-x-reverse));
|
||||||
|
margin-left: calc(1rem * calc(1 - var(--tw-space-x-reverse)));
|
||||||
|
}
|
||||||
|
|
||||||
.lg\:border-b-0 {
|
.lg\:border-b-0 {
|
||||||
border-bottom-width: 0px;
|
border-bottom-width: 0px;
|
||||||
}
|
}
|
||||||
|
@ -36,22 +36,12 @@ watch(dateValue, (newValue) => {
|
|||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<vue-tailwind-datepicker
|
<vue-tailwind-datepicker v-model="dateValue" :formatter="formatter" separator=" s/d " :shortcuts="customShortcuts"
|
||||||
v-model="dateValue"
|
:auto-apply="true" as-single use-range v-slot="{ value, placeholder }">
|
||||||
:formatter="formatter"
|
|
||||||
separator=" s/d "
|
|
||||||
:shortcuts="customShortcuts"
|
|
||||||
:auto-apply="true"
|
|
||||||
as-single
|
|
||||||
use-range
|
|
||||||
v-slot="{ value, placeholder }"
|
|
||||||
>
|
|
||||||
<div class="flex">
|
<div class="flex">
|
||||||
<div class="flex-1">
|
<div class="flex-1">
|
||||||
<button
|
<button type="button"
|
||||||
type="button"
|
class="flex items-center justify-between w-full px-4 py-2 text-sm leading-6 text-gray-900 bg-gray-200 border-0 border-transparent rounded-lg placeholder:text-gray-400 outline-0 focus:outline-0 focus:border-0 focus:ring-0">
|
||||||
class="w-full flex items-center justify-between px-4 py-2 text-sm leading-6 placeholder:text-gray-400 text-gray-900 border-0 border-transparent rounded-lg outline-0 bg-gray-200 focus:outline-0 focus:border-0 focus:ring-0"
|
|
||||||
>
|
|
||||||
<span class="text-gray-900">
|
<span class="text-gray-900">
|
||||||
{{ value || placeholder }}
|
{{ value || placeholder }}
|
||||||
</span>
|
</span>
|
||||||
|
@ -42,33 +42,17 @@ const switchInputType = () => {
|
|||||||
</script>
|
</script>
|
||||||
|
|
||||||
<template>
|
<template>
|
||||||
<div :class="['relative w-full overflow-hidden rounded-lg ', className]">
|
<div :class="['relative w-full overflow-hidden rounded-lg bg-gray-200 ', className]">
|
||||||
<input
|
<input autocomplete="off" :type="inputType" :placeholder="placeholder" :value="value" @input="updateValue($event)"
|
||||||
autocomplete="off"
|
:disabled="disabled" :readonly="readonly" :class="[
|
||||||
:type="inputType"
|
|
||||||
:placeholder="placeholder"
|
|
||||||
:value="value"
|
|
||||||
@input="updateValue($event)"
|
|
||||||
:disabled="disabled"
|
|
||||||
:readonly="readonly"
|
|
||||||
:class="[
|
|
||||||
'w-full px-4 py-2 text-sm leading-6 placeholder:text-gray-400 text-gray-900 border-0 border-transparent rounded-lg outline-0 bg-gray-200 focus:outline-0 focus:border-0 focus:ring-0'
|
'w-full px-4 py-2 text-sm leading-6 placeholder:text-gray-400 text-gray-900 border-0 border-transparent rounded-lg outline-0 bg-gray-200 focus:outline-0 focus:border-0 focus:ring-0'
|
||||||
]"
|
]" />
|
||||||
/>
|
<span @click="switchInputType" v-if="type == 'password'"
|
||||||
<span
|
class="absolute top-0 bottom-0 right-0 mx-3 my-auto cursor-pointer h-fit">
|
||||||
@click="switchInputType"
|
<svg width="20" height="20" viewBox="0 0 20 20"
|
||||||
v-if="type == 'password'"
|
:class="[inputType == 'password' ? 'fill-gray-500' : 'fill-primary-500']">
|
||||||
class="absolute top-0 bottom-0 right-0 mx-3 my-auto cursor-pointer h-fit"
|
|
||||||
>
|
|
||||||
<svg
|
|
||||||
width="20"
|
|
||||||
height="20"
|
|
||||||
viewBox="0 0 20 20"
|
|
||||||
:class="[inputType == 'password' ? 'fill-gray-500' : 'fill-primary-500']"
|
|
||||||
>
|
|
||||||
<path
|
<path
|
||||||
d="M19.3211 9.74688C19.2937 9.68516 18.632 8.21719 17.1609 6.74609C15.2008 4.78594 12.725 3.75 9.99999 3.75C7.27499 3.75 4.79921 4.78594 2.83905 6.74609C1.36796 8.21719 0.703118 9.6875 0.678899 9.74688C0.643362 9.82681 0.625 9.91331 0.625 10.0008C0.625 10.0883 0.643362 10.1748 0.678899 10.2547C0.706243 10.3164 1.36796 11.7836 2.83905 13.2547C4.79921 15.2141 7.27499 16.25 9.99999 16.25C12.725 16.25 15.2008 15.2141 17.1609 13.2547C18.632 11.7836 19.2937 10.3164 19.3211 10.2547C19.3566 10.1748 19.375 10.0883 19.375 10.0008C19.375 9.91331 19.3566 9.82681 19.3211 9.74688ZM9.99999 15C7.5953 15 5.49452 14.1258 3.75546 12.4023C3.0419 11.6927 2.43483 10.8836 1.95312 10C2.4347 9.11636 3.04179 8.30717 3.75546 7.59766C5.49452 5.87422 7.5953 5 9.99999 5C12.4047 5 14.5055 5.87422 16.2445 7.59766C16.9595 8.307 17.5679 9.11619 18.0508 10C17.4875 11.0516 15.0336 15 9.99999 15ZM9.99999 6.25C9.25831 6.25 8.53329 6.46993 7.9166 6.88199C7.29992 7.29404 6.81927 7.87971 6.53544 8.56494C6.25162 9.25016 6.17735 10.0042 6.32205 10.7316C6.46674 11.459 6.82389 12.1272 7.34834 12.6517C7.87279 13.1761 8.54097 13.5333 9.2684 13.6779C9.99583 13.8226 10.7498 13.7484 11.4351 13.4645C12.1203 13.1807 12.7059 12.7001 13.118 12.0834C13.5301 11.4667 13.75 10.7417 13.75 10C13.749 9.00576 13.3535 8.05253 12.6505 7.34949C11.9475 6.64645 10.9942 6.25103 9.99999 6.25ZM9.99999 12.5C9.50554 12.5 9.02219 12.3534 8.61107 12.0787C8.19994 11.804 7.87951 11.4135 7.69029 10.9567C7.50107 10.4999 7.45157 9.99723 7.54803 9.51227C7.64449 9.02732 7.88259 8.58186 8.23222 8.23223C8.58186 7.8826 9.02731 7.6445 9.51227 7.54804C9.99722 7.45157 10.4999 7.50108 10.9567 7.6903C11.4135 7.87952 11.804 8.19995 12.0787 8.61107C12.3534 9.0222 12.5 9.50555 12.5 10C12.5 10.663 12.2366 11.2989 11.7678 11.7678C11.2989 12.2366 10.663 12.5 9.99999 12.5Z"
|
d="M19.3211 9.74688C19.2937 9.68516 18.632 8.21719 17.1609 6.74609C15.2008 4.78594 12.725 3.75 9.99999 3.75C7.27499 3.75 4.79921 4.78594 2.83905 6.74609C1.36796 8.21719 0.703118 9.6875 0.678899 9.74688C0.643362 9.82681 0.625 9.91331 0.625 10.0008C0.625 10.0883 0.643362 10.1748 0.678899 10.2547C0.706243 10.3164 1.36796 11.7836 2.83905 13.2547C4.79921 15.2141 7.27499 16.25 9.99999 16.25C12.725 16.25 15.2008 15.2141 17.1609 13.2547C18.632 11.7836 19.2937 10.3164 19.3211 10.2547C19.3566 10.1748 19.375 10.0883 19.375 10.0008C19.375 9.91331 19.3566 9.82681 19.3211 9.74688ZM9.99999 15C7.5953 15 5.49452 14.1258 3.75546 12.4023C3.0419 11.6927 2.43483 10.8836 1.95312 10C2.4347 9.11636 3.04179 8.30717 3.75546 7.59766C5.49452 5.87422 7.5953 5 9.99999 5C12.4047 5 14.5055 5.87422 16.2445 7.59766C16.9595 8.307 17.5679 9.11619 18.0508 10C17.4875 11.0516 15.0336 15 9.99999 15ZM9.99999 6.25C9.25831 6.25 8.53329 6.46993 7.9166 6.88199C7.29992 7.29404 6.81927 7.87971 6.53544 8.56494C6.25162 9.25016 6.17735 10.0042 6.32205 10.7316C6.46674 11.459 6.82389 12.1272 7.34834 12.6517C7.87279 13.1761 8.54097 13.5333 9.2684 13.6779C9.99583 13.8226 10.7498 13.7484 11.4351 13.4645C12.1203 13.1807 12.7059 12.7001 13.118 12.0834C13.5301 11.4667 13.75 10.7417 13.75 10C13.749 9.00576 13.3535 8.05253 12.6505 7.34949C11.9475 6.64645 10.9942 6.25103 9.99999 6.25ZM9.99999 12.5C9.50554 12.5 9.02219 12.3534 8.61107 12.0787C8.19994 11.804 7.87951 11.4135 7.69029 10.9567C7.50107 10.4999 7.45157 9.99723 7.54803 9.51227C7.64449 9.02732 7.88259 8.58186 8.23222 8.23223C8.58186 7.8826 9.02731 7.6445 9.51227 7.54804C9.99722 7.45157 10.4999 7.50108 10.9567 7.6903C11.4135 7.87952 11.804 8.19995 12.0787 8.61107C12.3534 9.0222 12.5 9.50555 12.5 10C12.5 10.663 12.2366 11.2989 11.7678 11.7678C11.2989 12.2366 10.663 12.5 9.99999 12.5Z" />
|
||||||
/>
|
|
||||||
</svg>
|
</svg>
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
|
@ -4,186 +4,60 @@
|
|||||||
</Filters>
|
</Filters>
|
||||||
|
|
||||||
<div id="data">
|
<div id="data">
|
||||||
<DxDataGrid
|
<DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false"
|
||||||
class="max-h-[calc(100vh-140px)]"
|
:show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
||||||
:data-source="data"
|
@selection-changed="onSelectionChanged" :column-width="100" @exporting="" :allow-column-resizing="true"
|
||||||
:show-column-lines="true"
|
column-resizing-mode="widget">
|
||||||
:show-row-lines="false"
|
|
||||||
:show-borders="true"
|
|
||||||
:row-alternation-enabled="true"
|
|
||||||
:hover-state-enabled="true"
|
|
||||||
@selection-changed="onSelectionChanged"
|
|
||||||
:column-width="100"
|
|
||||||
@exporting=""
|
|
||||||
:allow-column-resizing="true"
|
|
||||||
column-resizing-mode="widget"
|
|
||||||
>
|
|
||||||
<DxSelection mode="single" />
|
<DxSelection mode="single" />
|
||||||
<DxPaging :page-size="5" :enabled="true" />
|
<DxPaging :page-size="5" :enabled="true" />
|
||||||
<DxPager
|
<DxPager :visible="true" :allowed-page-sizes="[5, 10, 20]" display-mode="full" :show-page-size-selector="true"
|
||||||
:visible="true"
|
:show-info="true" :show-navigation-buttons="true" />
|
||||||
:allowed-page-sizes="[5, 10, 20]"
|
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
|
||||||
display-mode="full"
|
v-if="loading" v-model:visible.sync="loading" :enabled="true" />
|
||||||
:show-page-size-selector="true"
|
|
||||||
:show-info="true"
|
|
||||||
:show-navigation-buttons="true"
|
|
||||||
/>
|
|
||||||
<DxLoadPanel
|
|
||||||
:position="position"
|
|
||||||
:show-indicator="showIndicator"
|
|
||||||
:show-pane="showPane"
|
|
||||||
:shading="shading"
|
|
||||||
v-if="loading"
|
|
||||||
v-model:visible.sync="loading"
|
|
||||||
:enabled="true"
|
|
||||||
/>
|
|
||||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||||
<DxExport
|
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||||
:enabled="true"
|
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||||
:formats="['pdf', 'xlsx', 'document']"
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
||||||
:allow-export-selected-data="false"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="no_laporan"
|
||||||
/>
|
caption="No Laporan" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="waktu_lapor"
|
||||||
css-class="custom-table-column"
|
caption="Tgl Lapor" cell-template="data" />
|
||||||
:width="50"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="waktu_response"
|
||||||
alignment="center"
|
caption="Tgl Response" cell-template="data" />
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="waktu_recovery"
|
||||||
data-type="number"
|
caption="Tgl Recovery" cell-template="data" />
|
||||||
caption="No"
|
<DxColumn css-class="custom-table-column" alignment="center" data-field="jumlah_lapor" caption="Jml Lapor"
|
||||||
/>
|
cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="durasi_response_time"
|
||||||
css-class="custom-table-column"
|
caption="Durasi Response Time" cell-template="data" />
|
||||||
:width="150"
|
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="durasi_recovery_time"
|
||||||
alignment="center"
|
caption="Durasi Recovery Time" cell-template="data" />
|
||||||
data-field="no_laporan"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="status_akhir" caption="Status"
|
||||||
caption="No Laporan"
|
cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="idpel_nometer"
|
||||||
/>
|
caption="IDPEL/NO METER" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="nama_pelapor"
|
||||||
css-class="custom-table-column"
|
caption="Nama Pelapor" cell-template="data" />
|
||||||
:width="150"
|
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="alamat_pelapor"
|
||||||
alignment="center"
|
caption="Alamat Pelapor" cell-template="data" />
|
||||||
data-field="waktu_lapor"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="no_telp_pelapor"
|
||||||
caption="Tgl Lapor"
|
caption="No Telp Pelapor" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="keterangan_pelapor"
|
||||||
/>
|
caption="Keterangan Pelapor" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="media" caption="Sumber Lapor"
|
||||||
css-class="custom-table-column"
|
cell-template="data" />
|
||||||
:width="150"
|
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="nama_posko" caption="Posko"
|
||||||
alignment="center"
|
cell-template="data" />
|
||||||
data-field="waktu_response"
|
|
||||||
caption="Tgl Response"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="waktu_recovery"
|
|
||||||
caption="Tgl Recovery"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
alignment="center"
|
|
||||||
data-field="jumlah_lapor"
|
|
||||||
caption="Jml Lapor"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_response_time"
|
|
||||||
caption="Durasi Response Time"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_recovery_time"
|
|
||||||
caption="Durasi Recovery Time"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="status_akhir"
|
|
||||||
caption="Status"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="idpel_nometer"
|
|
||||||
caption="IDPEL/NO METER"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_pelapor"
|
|
||||||
caption="Nama Pelapor"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="alamat_pelapor"
|
|
||||||
caption="Alamat Pelapor"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="no_telp_pelapor"
|
|
||||||
caption="No Telp Pelapor"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="keterangan_pelapor"
|
|
||||||
caption="Keterangan Pelapor"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="media"
|
|
||||||
caption="Sumber Lapor"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_posko"
|
|
||||||
caption="Posko"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<template #data="{ data }">
|
<template #data="{ data }">
|
||||||
<span class="cursor-pointer" @click="showData()">
|
<p class="cursor-pointer" @click="showData()">
|
||||||
{{ data.text }}
|
{{ data.text }}
|
||||||
</span>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
</DxDataGrid>
|
</DxDataGrid>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<DetailDialog
|
<DetailDialog :open="showDetail" title="Daftar Gangguan Melapor Lebih Dari 1 Kali" @on-close="closeDetail">
|
||||||
:open="showDetail"
|
|
||||||
title="Daftar Gangguan Melapor Lebih Dari 1 Kali"
|
|
||||||
@on-close="closeDetail"
|
|
||||||
>
|
|
||||||
<div class="w-full p-4 space-y-2 bg-white rounded-xl">
|
<div class="w-full p-4 space-y-2 bg-white rounded-xl">
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">No Laporan:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">No Laporan:</h3>
|
||||||
@ -257,12 +131,7 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Unit Layanan Pelanggan:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Unit Layanan Pelanggan:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.nama_posko" class-name="flex-1 h-[56px]" />
|
||||||
:readonly="true"
|
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.nama_posko"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</DetailDialog>
|
</DetailDialog>
|
||||||
|
@ -4,172 +4,55 @@
|
|||||||
</Filters>
|
</Filters>
|
||||||
|
|
||||||
<div id="data">
|
<div id="data">
|
||||||
<DxDataGrid
|
<DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false"
|
||||||
class="max-h-[calc(100vh-140px)]"
|
:show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
||||||
:data-source="data"
|
@selection-changed="onSelectionChanged" :column-width="100" @exporting="" :allow-column-resizing="true"
|
||||||
:show-column-lines="true"
|
column-resizing-mode="widget">
|
||||||
:show-row-lines="false"
|
|
||||||
:show-borders="true"
|
|
||||||
:row-alternation-enabled="true"
|
|
||||||
:hover-state-enabled="true"
|
|
||||||
@selection-changed="onSelectionChanged"
|
|
||||||
:column-width="100"
|
|
||||||
@exporting=""
|
|
||||||
:allow-column-resizing="true"
|
|
||||||
column-resizing-mode="widget"
|
|
||||||
>
|
|
||||||
<DxSelection mode="single" />
|
<DxSelection mode="single" />
|
||||||
<DxPaging :page-size="5" :enabled="true" />
|
<DxPaging :page-size="5" :enabled="true" />
|
||||||
<DxPager
|
<DxPager :visible="true" :allowed-page-sizes="[5, 10, 20]" display-mode="full" :show-page-size-selector="true"
|
||||||
:visible="true"
|
:show-info="true" :show-navigation-buttons="true" />
|
||||||
:allowed-page-sizes="[5, 10, 20]"
|
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
|
||||||
display-mode="full"
|
v-if="loading" v-model:visible="loading" :enabled="true" />
|
||||||
:show-page-size-selector="true"
|
|
||||||
:show-info="true"
|
|
||||||
:show-navigation-buttons="true"
|
|
||||||
/>
|
|
||||||
<DxLoadPanel
|
|
||||||
:position="position"
|
|
||||||
:show-indicator="showIndicator"
|
|
||||||
:show-pane="showPane"
|
|
||||||
:shading="shading"
|
|
||||||
v-if="loading"
|
|
||||||
v-model:visible="loading"
|
|
||||||
:enabled="true"
|
|
||||||
/>
|
|
||||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||||
<DxExport
|
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||||
:enabled="true"
|
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||||
:formats="['pdf', 'xlsx', 'document']"
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No"
|
||||||
:allow-export-selected-data="false"
|
cell-template="data" />
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="50"
|
|
||||||
alignment="center"
|
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
|
||||||
data-type="number"
|
|
||||||
caption="No"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="no_laporan"
|
||||||
css-class="custom-table-column"
|
caption="No Laporan" cell-template="data" />
|
||||||
:width="150"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="waktu_lapor"
|
||||||
alignment="center"
|
caption="Tgl Lapor" cell-template="data" />
|
||||||
data-field="no_laporan"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="waktu_response"
|
||||||
caption="No Laporan"
|
caption="Tgl Response" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="waktu_recovery"
|
||||||
/>
|
caption="Tgl Recovery" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="durasi_response_time"
|
||||||
css-class="custom-table-column"
|
caption="Durasi Response Time" cell-template="data" />
|
||||||
:width="150"
|
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="durasi_recovery_time"
|
||||||
alignment="center"
|
caption="Durasi Recovery Time" cell-template="data" />
|
||||||
data-field="waktu_lapor"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="status_akhir" caption="Status"
|
||||||
caption="Tgl Lapor"
|
cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="referensi_marking"
|
||||||
/>
|
caption="Referensi Marking" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="idpel_nometer"
|
||||||
css-class="custom-table-column"
|
caption="IDPEL/NO METER" cell-template="data" />
|
||||||
:width="150"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="nama_pelapor"
|
||||||
alignment="center"
|
caption="Nama Pelapor" cell-template="data" />
|
||||||
data-field="waktu_response"
|
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="alamat_pelapor"
|
||||||
caption="Tgl Response"
|
caption="Alamat Pelapor" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="no_telp_pelapor"
|
||||||
/>
|
caption="No Telp Pelapor" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="150" alignment="center" data-field="keterangan_pelapor"
|
||||||
css-class="custom-table-column"
|
caption="Keterangan Pelapor" cell-template="data" />
|
||||||
:width="150"
|
<DxColumn css-class="custom-table-column" :width="170" alignment="center" data-field="nama_posko" caption="Posko"
|
||||||
alignment="center"
|
cell-template="data" />
|
||||||
data-field="waktu_recovery"
|
|
||||||
caption="Tgl Recovery"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_response_time"
|
|
||||||
caption="Durasi Response Time"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_recovery_time"
|
|
||||||
caption="Durasi Recovery Time"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="status_akhir"
|
|
||||||
caption="Status"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="referensi_marking"
|
|
||||||
caption="Referensi Marking"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="idpel_nometer"
|
|
||||||
caption="IDPEL/NO METER"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_pelapor"
|
|
||||||
caption="Nama Pelapor"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="alamat_pelapor"
|
|
||||||
caption="Alamat Pelapor"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="no_telp_pelapor"
|
|
||||||
caption="No Telp Pelapor"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="keterangan_pelapor"
|
|
||||||
caption="Keterangan Pelapor"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
css-class="custom-table-column"
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_posko"
|
|
||||||
caption="Posko"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<template #data="{ data }">
|
<template #data="{ data }">
|
||||||
<span class="cursor-pointer" @click="showData()">
|
<p class="cursor-pointer" @click="showData()">
|
||||||
{{ data.text }}
|
{{ data.text }}
|
||||||
</span>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
</DxDataGrid>
|
</DxDataGrid>
|
||||||
</div>
|
</div>
|
||||||
@ -243,32 +126,17 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Unit Layanan Pelanggan:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Unit Layanan Pelanggan:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.nama_posko" class-name="flex-1 h-[56px]" />
|
||||||
:readonly="true"
|
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.nama_posko"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Penyebab:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Penyebab:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.penyebab" class-name="flex-1 h-[56px]" />
|
||||||
:readonly="true"
|
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.penyebab"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Tindakan:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Tindakan:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.tindakan" class-name="flex-1 h-[56px]" />
|
||||||
:readonly="true"
|
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.tindakan"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</DetailDialog>
|
</DetailDialog>
|
||||||
|
@ -4,181 +4,57 @@
|
|||||||
</Filters>
|
</Filters>
|
||||||
|
|
||||||
<div id="data">
|
<div id="data">
|
||||||
<DxDataGrid
|
<DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false"
|
||||||
class="max-h-[calc(100vh-140px)]"
|
:show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
||||||
:data-source="data"
|
@selection-changed="onSelectionChanged" :column-width="100" @exporting="onExporting" :allow-column-resizing="true"
|
||||||
:show-column-lines="true"
|
column-resizing-mode="widget" :word-wrap-enabled="true">
|
||||||
:show-row-lines="false"
|
|
||||||
:show-borders="true"
|
|
||||||
:row-alternation-enabled="true"
|
|
||||||
:hover-state-enabled="true"
|
|
||||||
@selection-changed="onSelectionChanged"
|
|
||||||
:column-width="100"
|
|
||||||
@exporting="onExporting"
|
|
||||||
:allow-column-resizing="true"
|
|
||||||
column-resizing-mode="widget"
|
|
||||||
:word-wrap-enabled="true"
|
|
||||||
>
|
|
||||||
<DxSelection mode="single" />
|
<DxSelection mode="single" />
|
||||||
<DxPaging :page-size="5" :enabled="true" />
|
<DxPaging :page-size="5" :enabled="true" />
|
||||||
<DxPager
|
<DxPager :visible="true" :allowed-page-sizes="[5, 10, 20]" display-mode="full" :show-page-size-selector="true"
|
||||||
:visible="true"
|
:show-info="true" :show-navigation-buttons="true" />
|
||||||
:allowed-page-sizes="[5, 10, 20]"
|
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
|
||||||
display-mode="full"
|
v-if="loading" v-model:visible="loading" :enabled="true" />
|
||||||
:show-page-size-selector="true"
|
|
||||||
:show-info="true"
|
|
||||||
:show-navigation-buttons="true"
|
|
||||||
/>
|
|
||||||
<DxLoadPanel
|
|
||||||
:position="position"
|
|
||||||
:show-indicator="showIndicator"
|
|
||||||
:show-pane="showPane"
|
|
||||||
:shading="shading"
|
|
||||||
v-if="loading"
|
|
||||||
v-model:visible="loading"
|
|
||||||
:enabled="true"
|
|
||||||
/>
|
|
||||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||||
<DxExport
|
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||||
:enabled="true"
|
|
||||||
:formats="['pdf', 'xlsx', 'document']"
|
|
||||||
:allow-export-selected-data="false"
|
|
||||||
/>
|
|
||||||
<DxColumnFixing :enabled="true" />
|
<DxColumnFixing :enabled="true" />
|
||||||
|
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||||
css-class="custom-table-column"
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
||||||
:width="50"
|
<DxColumn :width="170" alignment="center" data-field="no_laporan" caption="No Laporan"
|
||||||
alignment="center"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
<DxColumn :width="170" alignment="center" data-field="waktu_lapor" caption="Tgl Lapor"
|
||||||
data-type="number"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="No"
|
<DxColumn :width="170" alignment="center" data-field="waktu_response" caption="Tgl Response"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="waktu_recovery" caption="Tgl Recovery"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="120" alignment="center" data-field="jumlah_lapor" caption="Jml Lapor"
|
||||||
data-field="no_laporan"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="No Laporan"
|
<DxColumn :width="170" alignment="center" data-field="durasi_response_time" caption="Durasi Response Time"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="170" alignment="center" data-field="durasi_recovery_time" caption="Durasi Recovery Time"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="120" alignment="center" data-field="status_akhir" caption="Status" css-class="custom-table-column"
|
||||||
:width="170"
|
cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="170" alignment="center" data-field="idpel_nometer" caption="IDPEL/NO METER"
|
||||||
data-field="waktu_lapor"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="Tgl Lapor"
|
<DxColumn :width="170" alignment="center" data-field="nama_pelapor" caption="Nama Pelapor"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="170" alignment="center" data-field="alamat_pelapor" caption="Alamat Pelapor"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="no_telp_pelapor" caption="No Telp Pelapor"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="170" alignment="center" data-field="keterangan_pelapor" caption="Keterangan Pelapor"
|
||||||
data-field="waktu_response"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="Tgl Response"
|
<DxColumn :width="150" alignment="center" data-field="media" caption="Sumber Lapor" css-class="custom-table-column"
|
||||||
css-class="custom-table-column"
|
cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="150" alignment="center" data-field="nama_ulp" caption="Nama ULP" css-class="custom-table-column"
|
||||||
/>
|
cell-template="data" />
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="waktu_recovery"
|
|
||||||
caption="Tgl Recovery"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="120"
|
|
||||||
alignment="center"
|
|
||||||
data-field="jumlah_lapor"
|
|
||||||
caption="Jml Lapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_response_time"
|
|
||||||
caption="Durasi Response Time"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_recovery_time"
|
|
||||||
caption="Durasi Recovery Time"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="120"
|
|
||||||
alignment="center"
|
|
||||||
data-field="status_akhir"
|
|
||||||
caption="Status"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="idpel_nometer"
|
|
||||||
caption="IDPEL/NO METER"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_pelapor"
|
|
||||||
caption="Nama Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="alamat_pelapor"
|
|
||||||
caption="Alamat Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="no_telp_pelapor"
|
|
||||||
caption="No Telp Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="keterangan_pelapor"
|
|
||||||
caption="Keterangan Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="media"
|
|
||||||
caption="Sumber Lapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_ulp"
|
|
||||||
caption="Nama ULP"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<template #data="{ data }">
|
<template #data="{ data }">
|
||||||
<span class="cursor-pointer" @click="showData()">
|
<p class="cursor-pointer" @click="showData()">
|
||||||
{{ data.text }}
|
{{ data.text }}
|
||||||
</span>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
</DxDataGrid>
|
</DxDataGrid>
|
||||||
</div>
|
</div>
|
||||||
@ -237,12 +113,7 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Alamat Pelapor:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Alamat Pelapor:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.alamat_pelapor" class-name="flex-1 h-[56px]" />
|
||||||
:readonly="true"
|
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.alamat_pelapor"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
@ -252,12 +123,8 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Pelapor:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Pelapor:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.keterangan_pelapor"
|
||||||
:readonly="true"
|
class-name="flex-1 h-[56px]" />
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.keterangan_pelapor"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
|
@ -4,165 +4,53 @@
|
|||||||
</Filters>
|
</Filters>
|
||||||
|
|
||||||
<div id="data">
|
<div id="data">
|
||||||
<DxDataGrid
|
<DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false"
|
||||||
class="max-h-[calc(100vh-140px)]"
|
:show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
||||||
:data-source="data"
|
@selection-changed="onSelectionChanged" :column-width="100" @exporting="onExporting" :allow-column-resizing="true"
|
||||||
:show-column-lines="true"
|
column-resizing-mode="widget" :word-wrap-enabled="true">
|
||||||
:show-row-lines="false"
|
|
||||||
:show-borders="true"
|
|
||||||
:row-alternation-enabled="true"
|
|
||||||
:hover-state-enabled="true"
|
|
||||||
@selection-changed="onSelectionChanged"
|
|
||||||
:column-width="100"
|
|
||||||
@exporting="onExporting"
|
|
||||||
:allow-column-resizing="true"
|
|
||||||
column-resizing-mode="widget"
|
|
||||||
:word-wrap-enabled="true"
|
|
||||||
>
|
|
||||||
<DxSelection mode="single" />
|
<DxSelection mode="single" />
|
||||||
<DxPaging :page-size="5" :enabled="true" />
|
<DxPaging :page-size="5" :enabled="true" />
|
||||||
<DxPager
|
<DxPager :visible="true" :allowed-page-sizes="[5, 10, 20]" display-mode="full" :show-page-size-selector="true"
|
||||||
:visible="true"
|
:show-info="true" :show-navigation-buttons="true" />
|
||||||
:allowed-page-sizes="[5, 10, 20]"
|
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
|
||||||
display-mode="full"
|
v-if="loading" v-model:visible="loading" :enabled="true" />
|
||||||
:show-page-size-selector="true"
|
|
||||||
:show-info="true"
|
|
||||||
:show-navigation-buttons="true"
|
|
||||||
/>
|
|
||||||
<DxLoadPanel
|
|
||||||
:position="position"
|
|
||||||
:show-indicator="showIndicator"
|
|
||||||
:show-pane="showPane"
|
|
||||||
:shading="shading"
|
|
||||||
v-if="loading"
|
|
||||||
v-model:visible="loading"
|
|
||||||
:enabled="true"
|
|
||||||
/>
|
|
||||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||||
<DxExport
|
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||||
:enabled="true"
|
|
||||||
:formats="['pdf', 'xlsx', 'document']"
|
|
||||||
:allow-export-selected-data="false"
|
|
||||||
/>
|
|
||||||
<DxColumnFixing :enabled="true" />
|
<DxColumnFixing :enabled="true" />
|
||||||
|
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||||
css-class="custom-table-column"
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
||||||
:width="50"
|
<DxColumn :width="170" alignment="center" data-field="no_laporan" caption="No Laporan"
|
||||||
alignment="center"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
|
||||||
data-type="number"
|
|
||||||
caption="No"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="no_laporan"
|
|
||||||
caption="No Laporan"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="waktu_lapor" caption="Tgl Lapor"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="170" alignment="center" data-field="waktu_response" caption="Tgl Response"
|
||||||
data-field="waktu_lapor"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="Tgl Lapor"
|
<DxColumn :width="170" alignment="center" data-field="waktu_recovery" caption="Tgl Recovery"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="170" alignment="center" data-field="durasi_response_time" caption="Durasi Response Time"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="durasi_recovery_time" caption="Durasi Recovery Time"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="120" alignment="center" data-field="status_akhir" caption="Status" css-class="custom-table-column"
|
||||||
data-field="waktu_response"
|
cell-template="data" />
|
||||||
caption="Tgl Response"
|
<DxColumn :width="170" alignment="center" data-field="idpel_nometer" caption="IDPEL/NO METER"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="170" alignment="center" data-field="nama_pelapor" caption="Nama Pelapor"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="alamat_pelapor" caption="Alamat Pelapor"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="170" alignment="center" data-field="no_telp_pelapor" caption="No Telp Pelapor"
|
||||||
data-field="waktu_recovery"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="Tgl Recovery"
|
<DxColumn :width="170" alignment="center" data-field="keterangan_pelapor" caption="Keterangan Pelapor"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="150" alignment="center" data-field="nama_ulp" caption="Nama ULP" css-class="custom-table-column"
|
||||||
/>
|
cell-template="data" />
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_response_time"
|
|
||||||
caption="Durasi Response Time"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_recovery_time"
|
|
||||||
caption="Durasi Recovery Time"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="120"
|
|
||||||
alignment="center"
|
|
||||||
data-field="status_akhir"
|
|
||||||
caption="Status"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="idpel_nometer"
|
|
||||||
caption="IDPEL/NO METER"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_pelapor"
|
|
||||||
caption="Nama Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="alamat_pelapor"
|
|
||||||
caption="Alamat Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="no_telp_pelapor"
|
|
||||||
caption="No Telp Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="keterangan_pelapor"
|
|
||||||
caption="Keterangan Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_ulp"
|
|
||||||
caption="Nama ULP"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<template #data="{ data }">
|
<template #data="{ data }">
|
||||||
<span class="cursor-pointer" @click="showData()">
|
<p class="cursor-pointer" @click="showData()">
|
||||||
{{ data.text }}
|
{{ data.text }}
|
||||||
</span>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
</DxDataGrid>
|
</DxDataGrid>
|
||||||
</div>
|
</div>
|
||||||
@ -215,12 +103,7 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Alamat Pelapor:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Alamat Pelapor:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.alamat_pelapor" class-name="flex-1 h-[56px]" />
|
||||||
:readonly="true"
|
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.alamat_pelapor"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
@ -230,12 +113,8 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Pelapor:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Pelapor:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.keterangan_pelapor"
|
||||||
:readonly="true"
|
class-name="flex-1 h-[56px]" />
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.keterangan_pelapor"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
|
@ -4,165 +4,53 @@
|
|||||||
</Filters>
|
</Filters>
|
||||||
|
|
||||||
<div id="data">
|
<div id="data">
|
||||||
<DxDataGrid
|
<DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false"
|
||||||
class="max-h-[calc(100vh-140px)]"
|
:show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
||||||
:data-source="data"
|
@selection-changed="onSelectionChanged" :column-width="100" @exporting="onExporting" :allow-column-resizing="true"
|
||||||
:show-column-lines="true"
|
column-resizing-mode="widget" :word-wrap-enabled="true">
|
||||||
:show-row-lines="false"
|
|
||||||
:show-borders="true"
|
|
||||||
:row-alternation-enabled="true"
|
|
||||||
:hover-state-enabled="true"
|
|
||||||
@selection-changed="onSelectionChanged"
|
|
||||||
:column-width="100"
|
|
||||||
@exporting="onExporting"
|
|
||||||
:allow-column-resizing="true"
|
|
||||||
column-resizing-mode="widget"
|
|
||||||
:word-wrap-enabled="true"
|
|
||||||
>
|
|
||||||
<DxSelection mode="single" />
|
<DxSelection mode="single" />
|
||||||
<DxPaging :page-size="5" :enabled="true" />
|
<DxPaging :page-size="5" :enabled="true" />
|
||||||
<DxPager
|
<DxPager :visible="true" :allowed-page-sizes="[5, 10, 20]" display-mode="full" :show-page-size-selector="true"
|
||||||
:visible="true"
|
:show-info="true" :show-navigation-buttons="true" />
|
||||||
:allowed-page-sizes="[5, 10, 20]"
|
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
|
||||||
display-mode="full"
|
v-if="loading" v-model:visible="loading" :enabled="true" />
|
||||||
:show-page-size-selector="true"
|
|
||||||
:show-info="true"
|
|
||||||
:show-navigation-buttons="true"
|
|
||||||
/>
|
|
||||||
<DxLoadPanel
|
|
||||||
:position="position"
|
|
||||||
:show-indicator="showIndicator"
|
|
||||||
:show-pane="showPane"
|
|
||||||
:shading="shading"
|
|
||||||
v-if="loading"
|
|
||||||
v-model:visible="loading"
|
|
||||||
:enabled="true"
|
|
||||||
/>
|
|
||||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||||
<DxExport
|
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||||
:enabled="true"
|
|
||||||
:formats="['pdf', 'xlsx', 'document']"
|
|
||||||
:allow-export-selected-data="false"
|
|
||||||
/>
|
|
||||||
<DxColumnFixing :enabled="true" />
|
<DxColumnFixing :enabled="true" />
|
||||||
|
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||||
css-class="custom-table-column"
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
||||||
:width="50"
|
<DxColumn :width="170" alignment="center" data-field="no_laporan" caption="No Laporan"
|
||||||
alignment="center"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
|
||||||
data-type="number"
|
|
||||||
caption="No"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="no_laporan"
|
|
||||||
caption="No Laporan"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="waktu_lapor" caption="Tgl Lapor"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="170" alignment="center" data-field="waktu_response" caption="Tgl Response"
|
||||||
data-field="waktu_lapor"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="Tgl Lapor"
|
<DxColumn :width="170" alignment="center" data-field="waktu_recovery" caption="Tgl Recovery"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="170" alignment="center" data-field="durasi_response_time" caption="Durasi Response Time"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="durasi_recovery_time" caption="Durasi Recovery Time"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="120" alignment="center" data-field="status_akhir" caption="Status" css-class="custom-table-column"
|
||||||
data-field="waktu_response"
|
cell-template="data" />
|
||||||
caption="Tgl Response"
|
<DxColumn :width="170" alignment="center" data-field="idpel_nometer" caption="IDPEL/NO METER"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="170" alignment="center" data-field="nama_pelapor" caption="Nama Pelapor"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="alamat_pelapor" caption="Alamat Pelapor"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="170" alignment="center" data-field="no_telp_pelapor" caption="No Telp Pelapor"
|
||||||
data-field="waktu_recovery"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="Tgl Recovery"
|
<DxColumn :width="170" alignment="center" data-field="keterangan_pelapor" caption="Keterangan Pelapor"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="150" alignment="center" data-field="nama_ulp" caption="Nama ULP" css-class="custom-table-column"
|
||||||
/>
|
cell-template="data" />
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_response_time"
|
|
||||||
caption="Durasi Response Time"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_recovery_time"
|
|
||||||
caption="Durasi Recovery Time"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="120"
|
|
||||||
alignment="center"
|
|
||||||
data-field="status_akhir"
|
|
||||||
caption="Status"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="idpel_nometer"
|
|
||||||
caption="IDPEL/NO METER"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_pelapor"
|
|
||||||
caption="Nama Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="alamat_pelapor"
|
|
||||||
caption="Alamat Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="no_telp_pelapor"
|
|
||||||
caption="No Telp Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="keterangan_pelapor"
|
|
||||||
caption="Keterangan Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_ulp"
|
|
||||||
caption="Nama ULP"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<template #data="{ data }">
|
<template #data="{ data }">
|
||||||
<span class="cursor-pointer" @click="showData()">
|
<p class="cursor-pointer" @click="showData()">
|
||||||
{{ data.text }}
|
{{ data.text }}
|
||||||
</span>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
</DxDataGrid>
|
</DxDataGrid>
|
||||||
</div>
|
</div>
|
||||||
@ -216,12 +104,7 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Alamat Pelapor:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Alamat Pelapor:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.alamat_pelapor" class-name="flex-1 h-[56px]" />
|
||||||
:readonly="true"
|
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.alamat_pelapor"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
@ -231,12 +114,8 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Pelapor:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Pelapor:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.keterangan_pelapor"
|
||||||
:readonly="true"
|
class-name="flex-1 h-[56px]" />
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.keterangan_pelapor"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
|
@ -4,172 +4,54 @@
|
|||||||
</Filters>
|
</Filters>
|
||||||
|
|
||||||
<div id="data">
|
<div id="data">
|
||||||
<DxDataGrid
|
<DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false"
|
||||||
class="max-h-[calc(100vh-140px)]"
|
:show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
||||||
:data-source="data"
|
@selection-changed="onSelectionChanged" :column-width="100" @exporting="onExporting" :allow-column-resizing="true"
|
||||||
:show-column-lines="true"
|
column-resizing-mode="widget" :word-wrap-enabled="true">
|
||||||
:show-row-lines="false"
|
|
||||||
:show-borders="true"
|
|
||||||
:row-alternation-enabled="true"
|
|
||||||
:hover-state-enabled="true"
|
|
||||||
@selection-changed="onSelectionChanged"
|
|
||||||
:column-width="100"
|
|
||||||
@exporting="onExporting"
|
|
||||||
:allow-column-resizing="true"
|
|
||||||
column-resizing-mode="widget"
|
|
||||||
:word-wrap-enabled="true"
|
|
||||||
>
|
|
||||||
<DxSelection mode="single" />
|
<DxSelection mode="single" />
|
||||||
<DxPaging :page-size="5" :enabled="true" />
|
<DxPaging :page-size="5" :enabled="true" />
|
||||||
<DxPager
|
<DxPager :visible="true" :allowed-page-sizes="[5, 10, 20]" display-mode="full" :show-page-size-selector="true"
|
||||||
:visible="true"
|
:show-info="true" :show-navigation-buttons="true" />
|
||||||
:allowed-page-sizes="[5, 10, 20]"
|
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
|
||||||
display-mode="full"
|
v-if="loading" v-model:visible="loading" :enabled="true" />
|
||||||
:show-page-size-selector="true"
|
|
||||||
:show-info="true"
|
|
||||||
:show-navigation-buttons="true"
|
|
||||||
/>
|
|
||||||
<DxLoadPanel
|
|
||||||
:position="position"
|
|
||||||
:show-indicator="showIndicator"
|
|
||||||
:show-pane="showPane"
|
|
||||||
:shading="shading"
|
|
||||||
v-if="loading"
|
|
||||||
v-model:visible="loading"
|
|
||||||
:enabled="true"
|
|
||||||
/>
|
|
||||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||||
<DxExport
|
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||||
:enabled="true"
|
|
||||||
:formats="['pdf', 'xlsx', 'document']"
|
|
||||||
:allow-export-selected-data="false"
|
|
||||||
/>
|
|
||||||
<DxColumnFixing :enabled="true" />
|
<DxColumnFixing :enabled="true" />
|
||||||
|
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||||
css-class="custom-table-column"
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
||||||
:width="50"
|
<DxColumn :width="170" alignment="center" data-field="no_laporan" caption="No Laporan"
|
||||||
alignment="center"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
<DxColumn :width="170" alignment="center" data-field="waktu_lapor" caption="Tgl Lapor"
|
||||||
data-type="number"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="No"
|
<DxColumn :width="170" alignment="center" data-field="waktu_response" caption="Tgl Response"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="waktu_recovery" caption="Tgl Recovery"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="170" alignment="center" data-field="durasi_response_time" caption="Durasi Response Time"
|
||||||
data-field="no_laporan"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="No Laporan"
|
<DxColumn :width="170" alignment="center" data-field="durasi_recovery_time" caption="Durasi Recovery Time"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="120" alignment="center" data-field="status_akhir" caption="Status" css-class="custom-table-column"
|
||||||
/>
|
cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="idpel_nometer" caption="IDPEL/NO METER"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="170" alignment="center" data-field="nama_pelapor" caption="Nama Pelapor"
|
||||||
data-field="waktu_lapor"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="Tgl Lapor"
|
<DxColumn :width="170" alignment="center" data-field="alamat_pelapor" caption="Alamat Pelapor"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="170" alignment="center" data-field="no_telp_pelapor" caption="No Telp Pelapor"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="keterangan_pelapor" caption="Keterangan Pelapor"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="150" alignment="center" data-field="media" caption="Sumber Lapor" css-class="custom-table-column"
|
||||||
data-field="waktu_response"
|
cell-template="data" />
|
||||||
caption="Tgl Response"
|
<DxColumn :width="150" alignment="center" data-field="nama_ulp" caption="Nama ULP" css-class="custom-table-column"
|
||||||
css-class="custom-table-column"
|
cell-template="data" />
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="waktu_recovery"
|
|
||||||
caption="Tgl Recovery"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_response_time"
|
|
||||||
caption="Durasi Response Time"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_recovery_time"
|
|
||||||
caption="Durasi Recovery Time"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="120"
|
|
||||||
alignment="center"
|
|
||||||
data-field="status_akhir"
|
|
||||||
caption="Status"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="idpel_nometer"
|
|
||||||
caption="IDPEL/NO METER"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_pelapor"
|
|
||||||
caption="Nama Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="alamat_pelapor"
|
|
||||||
caption="Alamat Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="no_telp_pelapor"
|
|
||||||
caption="No Telp Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="keterangan_pelapor"
|
|
||||||
caption="Keterangan Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="media"
|
|
||||||
caption="Sumber Lapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_ulp"
|
|
||||||
caption="Nama ULP"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<template #data="{ data }">
|
<template #data="{ data }">
|
||||||
<span class="cursor-pointer" @click="showData()">
|
<p class="cursor-pointer" @click="showData()">
|
||||||
{{ data.text }}
|
{{ data.text }}
|
||||||
</span>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
</DxDataGrid>
|
</DxDataGrid>
|
||||||
</div>
|
</div>
|
||||||
@ -223,12 +105,7 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Alamat Pelapor:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Alamat Pelapor:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.alamat_pelapor" class-name="flex-1 h-[56px]" />
|
||||||
:readonly="true"
|
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.alamat_pelapor"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
@ -238,12 +115,8 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Pelapor:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Pelapor:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.keterangan_pelapor"
|
||||||
:readonly="true"
|
class-name="flex-1 h-[56px]" />
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.keterangan_pelapor"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
|
@ -4,174 +4,56 @@
|
|||||||
</Filters>
|
</Filters>
|
||||||
|
|
||||||
<div id="data">
|
<div id="data">
|
||||||
<DxDataGrid
|
<DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false"
|
||||||
class="max-h-[calc(100vh-140px)]"
|
:show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
||||||
:data-source="data"
|
@selection-changed="onSelectionChanged" :column-width="100" @exporting="onExporting" :allow-column-resizing="true"
|
||||||
:show-column-lines="true"
|
column-resizing-mode="widget" :word-wrap-enabled="true">
|
||||||
:show-row-lines="false"
|
|
||||||
:show-borders="true"
|
|
||||||
:row-alternation-enabled="true"
|
|
||||||
:hover-state-enabled="true"
|
|
||||||
@selection-changed="onSelectionChanged"
|
|
||||||
:column-width="100"
|
|
||||||
@exporting="onExporting"
|
|
||||||
:allow-column-resizing="true"
|
|
||||||
column-resizing-mode="widget"
|
|
||||||
:word-wrap-enabled="true"
|
|
||||||
>
|
|
||||||
<DxSelection mode="single" />
|
<DxSelection mode="single" />
|
||||||
<DxPaging :page-size="5" :enabled="true" />
|
<DxPaging :page-size="5" :enabled="true" />
|
||||||
<DxPager
|
<DxPager :visible="true" :allowed-page-sizes="[5, 10, 20]" display-mode="full" :show-page-size-selector="true"
|
||||||
:visible="true"
|
:show-info="true" :show-navigation-buttons="true" />
|
||||||
:allowed-page-sizes="[5, 10, 20]"
|
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
|
||||||
display-mode="full"
|
v-if="loading" v-model:visible="loading" :enabled="true" />
|
||||||
:show-page-size-selector="true"
|
|
||||||
:show-info="true"
|
|
||||||
:show-navigation-buttons="true"
|
|
||||||
/>
|
|
||||||
<DxLoadPanel
|
|
||||||
:position="position"
|
|
||||||
:show-indicator="showIndicator"
|
|
||||||
:show-pane="showPane"
|
|
||||||
:shading="shading"
|
|
||||||
v-if="loading"
|
|
||||||
v-model:visible="loading"
|
|
||||||
:enabled="true"
|
|
||||||
/>
|
|
||||||
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||||
<DxExport
|
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||||
:enabled="true"
|
|
||||||
:formats="['pdf', 'xlsx', 'document']"
|
|
||||||
:allow-export-selected-data="false"
|
|
||||||
/>
|
|
||||||
<DxColumnFixing :enabled="true" />
|
<DxColumnFixing :enabled="true" />
|
||||||
|
|
||||||
<DxColumn
|
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||||
css-class="custom-table-column"
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
||||||
:width="50"
|
<DxColumn :width="170" alignment="center" data-field="no_laporan" caption="No Laporan"
|
||||||
alignment="center"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
<DxColumn :width="170" alignment="center" data-field="nama_pelapor" caption="Nama Pelapor"
|
||||||
data-type="number"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="No"
|
<DxColumn :width="170" alignment="center" data-field="alamat_pelapor" caption="Alamat Pelapor"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="no_telp_pelapor" caption="No Telp Pelapor"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="170" alignment="center" data-field="keterangan_pelapor" caption="Keterangan Pelapor"
|
||||||
data-field="no_laporan"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="No Laporan"
|
<DxColumn :width="120" alignment="center" data-field="status_akhir" caption="Status" css-class="custom-table-column"
|
||||||
css-class="custom-table-column"
|
cell-template="data" />
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="nama_pelapor"
|
|
||||||
caption="Nama Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="alamat_pelapor"
|
|
||||||
caption="Alamat Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="no_telp_pelapor"
|
|
||||||
caption="No Telp Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="keterangan_pelapor"
|
|
||||||
caption="Keterangan Pelapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="120"
|
|
||||||
alignment="center"
|
|
||||||
data-field="status_akhir"
|
|
||||||
caption="Status"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="waktu_lapor" caption="Tgl Lapor"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
|
||||||
data-field="waktu_lapor"
|
|
||||||
caption="Tgl Lapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
|
|
||||||
<DxColumn
|
<DxColumn :width="170" alignment="center" data-field="waktu_response" caption="Tgl Response"
|
||||||
:width="170"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="170" alignment="center" data-field="waktu_recovery" caption="Tgl Recovery"
|
||||||
data-field="waktu_response"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="Tgl Response"
|
<DxColumn :width="150" alignment="center" data-field="waktu_response" caption="Response Time"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
<DxColumn :width="150" alignment="center" data-field="durasi_recovery_time" caption="Recovery Time"
|
||||||
/>
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn
|
<DxColumn :width="150" alignment="center" data-field="media" caption="Sumber Lapor" css-class="custom-table-column"
|
||||||
:width="170"
|
cell-template="data" />
|
||||||
alignment="center"
|
<DxColumn :width="150" alignment="center" data-field="waktu_media" caption="Tgl Media"
|
||||||
data-field="waktu_recovery"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
caption="Tgl Recovery"
|
<DxColumn :width="170" alignment="center" data-field="keterangan_media" caption="Keterangan Media"
|
||||||
css-class="custom-table-column"
|
css-class="custom-table-column" cell-template="data" />
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="waktu_response"
|
|
||||||
caption="Response Time"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="durasi_recovery_time"
|
|
||||||
caption="Recovery Time"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="media"
|
|
||||||
caption="Sumber Lapor"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="150"
|
|
||||||
alignment="center"
|
|
||||||
data-field="waktu_media"
|
|
||||||
caption="Tgl Media"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<DxColumn
|
|
||||||
:width="170"
|
|
||||||
alignment="center"
|
|
||||||
data-field="keterangan_media"
|
|
||||||
caption="Keterangan Media"
|
|
||||||
css-class="custom-table-column"
|
|
||||||
cell-template="data"
|
|
||||||
/>
|
|
||||||
<template #data="{ data }">
|
<template #data="{ data }">
|
||||||
<span class="cursor-pointer" @click="showData()">
|
<p class="cursor-pointer" @click="showData()">
|
||||||
{{ data.text }}
|
{{ data.text }}
|
||||||
</span>
|
</p>
|
||||||
</template>
|
</template>
|
||||||
</DxDataGrid>
|
</DxDataGrid>
|
||||||
</div>
|
</div>
|
||||||
@ -195,22 +77,13 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Alamat Pelapor:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Alamat Pelapor:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.alamat_pelapor" class-name="flex-1 h-[56px]" />
|
||||||
:readonly="true"
|
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.alamat_pelapor"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Pelapor:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Pelapor:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.keterangan_pelapor"
|
||||||
:readonly="true"
|
class-name="flex-1 h-[56px]" />
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.keterangan_pelapor"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
@ -255,12 +128,7 @@
|
|||||||
|
|
||||||
<div class="flex flex-row items-center justify-between w-full">
|
<div class="flex flex-row items-center justify-between w-full">
|
||||||
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Media:</h3>
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">Keterangan Media:</h3>
|
||||||
<InputText
|
<InputText :readonly="true" type="textarea" :value="dataDetail?.keterangan_media" class-name="flex-1 h-[56px]" />
|
||||||
:readonly="true"
|
|
||||||
type="textarea"
|
|
||||||
:value="dataDetail?.keterangan_media"
|
|
||||||
class-name="flex-1 h-[56px]"
|
|
||||||
/>
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</DetailDialog>
|
</DetailDialog>
|
||||||
|
@ -5,8 +5,8 @@
|
|||||||
<div>
|
<div>
|
||||||
<DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false"
|
<DxDataGrid class="max-h-[calc(100vh-140px)]" :data-source="data" :show-column-lines="true" :show-row-lines="false"
|
||||||
:show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
:show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
||||||
@selection-changed="onSelectionChanged" :column-width="100" @exporting="onExporting" :allow-column-resizing="true"
|
@selection-changed="onDataSelectionChanged" :column-width="100" @exporting="onExporting"
|
||||||
column-resizing-mode="widget" :word-wrap-enabled="true">
|
:allow-column-resizing="true" column-resizing-mode="widget" :word-wrap-enabled="true">
|
||||||
<DxSelection mode="single" />
|
<DxSelection mode="single" />
|
||||||
<DxPaging :enabled="false" />
|
<DxPaging :enabled="false" />
|
||||||
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
|
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
|
||||||
@ -16,46 +16,210 @@
|
|||||||
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||||
<DxColumnFixing :enabled="true" />
|
<DxColumnFixing :enabled="true" />
|
||||||
|
|
||||||
<DxColumn :width="170" alignment="center" data-field="idUlp" caption="Nama Unit" css-class="custom-table-column" />
|
<DxColumn :width="170" data-field="nama_ulp" caption="Nama Unit" css-class="custom-table-column"
|
||||||
|
cell-template="data" header-cell-template="title-header" />
|
||||||
<DxColumn alignment="center" caption="Response Time" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Response Time" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_selesai" data-type="number" caption="Selesai"
|
<DxColumn :width="150" alignment="center" data-field="total_selesai" data-type="number" caption="Selesai"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="persen_selesai" data-type="number" caption="%"
|
<DxColumn :width="150" alignment="center" data-field="persen_selesai" data-type="number" caption="%"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_inproses" data-type="number" caption="InProgress"
|
<DxColumn :width="150" alignment="center" data-field="total_inproses" data-type="number" caption="InProgress"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="persen_inproses" data-type="number" caption="%"
|
<DxColumn :width="150" alignment="center" data-field="persen_inproses" data-type="number" caption="%"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="avg_durasi_response" data-type="number" caption="Rata-Rata"
|
<DxColumn :width="150" alignment="center" data-field="avg_durasi_response" data-type="number" caption="Rata-Rata"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="max_durasi_response" data-type="number" caption="Max"
|
<DxColumn :width="150" alignment="center" data-field="max_durasi_response" data-type="number" caption="Max"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="min_durasi_response" data-type="number" caption="Min"
|
<DxColumn :width="150" alignment="center" data-field="min_durasi_response" data-type="number" caption="Min"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_diatas_sla_response" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="total_diatas_sla_response" data-type="number"
|
||||||
caption="> SLA" css-class="custom-table-column" />
|
caption="> SLA" css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_response" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_response" data-type="number"
|
||||||
caption="≤ SLA" css-class="custom-table-column" />
|
caption="≤ SLA" css-class="custom-table-column" cell-template="data" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Penyelesaian" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Penyelesaian" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="avg_durasi_recovery" data-type="number" caption="Rata-Rata"
|
<DxColumn :width="150" alignment="center" data-field="avg_durasi_recovery" data-type="number" caption="Rata-Rata"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="max_durasi_recovery" data-type="number" caption="Max"
|
<DxColumn :width="150" alignment="center" data-field="max_durasi_recovery" data-type="number" caption="Max"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="min_durasi_recovery" data-type="number" caption="Min"
|
<DxColumn :width="150" alignment="center" data-field="min_durasi_recovery" data-type="number" caption="Min"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_diatas_recovery" data-type="number" caption="> SLA"
|
<DxColumn :width="150" alignment="center" data-field="total_diatas_recovery" data-type="number" caption="> SLA"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_dibawah_recovery" data-type="number" caption="≤ SLA"
|
<DxColumn :width="150" alignment="center" data-field="total_dibawah_recovery" data-type="number" caption="≤ SLA"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" cell-template="data" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
|
<template #data="{ data }">
|
||||||
|
<p class="cursor-pointer" @click="showDialog()">
|
||||||
|
{{ data.text }}
|
||||||
|
</p>
|
||||||
|
</template>
|
||||||
|
|
||||||
|
<template #title-header="{ data }">
|
||||||
|
<p class="text-center">
|
||||||
|
{{ data.text }}
|
||||||
|
</p>
|
||||||
|
</template>
|
||||||
</DxDataGrid>
|
</DxDataGrid>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<DetailDialog :open="showDialogDetail" :full-width="true" title="Detail Rekapitulasi Keluhan All"
|
||||||
|
@on-close="closeDetailDialog">
|
||||||
|
<div class="flex flex-col w-full space-y-2 lg:space-x-4 lg:flex-row lg:justify-between">
|
||||||
|
<div class="flex flex-1 p-4 bg-white rounded-xl">
|
||||||
|
<div class="w-full">
|
||||||
|
<!-- <DxDataGrid class="w-full" :data-source="dataDetail" :column-auto-width="true" :show-column-lines="true"
|
||||||
|
:show-row-lines="false" :show-borders="true" :row-alternation-enabled="true" :hover-state-enabled="true"
|
||||||
|
@selection-changed="onDataDetailSelectionChanged" @exporting="onExporting" :allow-column-resizing="true"
|
||||||
|
column-resizing-mode="widget" :word-wrap-enabled="true">
|
||||||
|
<DxSelection mode="single" />
|
||||||
|
<DxPaging :page-size="5" :enabled="true" />
|
||||||
|
<DxPager :visible="true" :allowed-page-sizes="[5, 10, 20]" display-mode="full" :show-page-size-selector="true"
|
||||||
|
:show-info="true" :show-navigation-buttons="true" />
|
||||||
|
<DxScrolling column-rendering-mode="virtual" mode="virtual" />
|
||||||
|
<DxLoadPanel :position="position" :show-indicator="showIndicator" :show-pane="showPane" :shading="shading"
|
||||||
|
v-if="loading" v-model:visible="loading" :enabled="true" />
|
||||||
|
<DxSearchPanel :visible="true" :highlight-case-sensitive="true" />
|
||||||
|
<DxExport :enabled="true" :formats="['pdf', 'xlsx', 'document']" :allow-export-selected-data="false" />
|
||||||
|
<DxColumnFixing :enabled="true" />
|
||||||
|
|
||||||
|
<DxColumn :width="60" alignment="center" data-field="" caption="No" css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="170" alignment="center" data-field="" caption="No Laporan"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Total"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Selesai"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="%"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="InProgress"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="%"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Rata-Rata"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Max"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Min"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="> SLA"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="≤ SLA"
|
||||||
|
css-class="custom-table-column" />
|
||||||
|
</DxDataGrid> -->
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
<div class="w-full p-4 space-y-2 overflow-y-auto bg-white lg:w-2/6 rounded-xl">
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
No Laporan:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Tgl Lapor:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Dalam Proses Bidang:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Selesai Bidang Unit:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Durasi Response Time:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Status:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
IDPEL/NO METER::
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Nama Pelapor:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Alamat Pelapor:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" type="textarea" value="-" class-name="flex-1 h-[56px]" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
No Telp Pelapor:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Keterangan Pelapor:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" type="textarea" value="-" class-name="flex-1 h-[56px]" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Rayon:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Uraian:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1 h-[56px]" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div class="flex flex-row justify-between w-full">
|
||||||
|
<h3 class="text-sm font-medium w-[170px] text-gray-800">
|
||||||
|
Response Pelanggan:
|
||||||
|
</h3>
|
||||||
|
<InputText :readonly="true" value="-" class-name="flex-1 h-[56px]" />
|
||||||
|
</div>
|
||||||
|
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</DetailDialog>
|
||||||
</template>
|
</template>
|
||||||
|
|
||||||
<script setup lang="ts">
|
<script setup lang="ts">
|
||||||
|
import DetailDialog from '@/components/Dialogs/DetailDialog.vue'
|
||||||
|
import InputText from '@/components/InputText.vue'
|
||||||
import Filters from '@/components/Form/Filters.vue'
|
import Filters from '@/components/Form/Filters.vue'
|
||||||
import Type3 from '@/components/Form/FiltersType/Type3.vue'
|
import Type3 from '@/components/Form/FiltersType/Type3.vue'
|
||||||
import { onMounted, ref } from 'vue'
|
import { onMounted, ref } from 'vue'
|
||||||
@ -65,6 +229,7 @@ import {
|
|||||||
DxColumnFixing,
|
DxColumnFixing,
|
||||||
DxExport,
|
DxExport,
|
||||||
DxLoadPanel,
|
DxLoadPanel,
|
||||||
|
DxPager,
|
||||||
DxPaging,
|
DxPaging,
|
||||||
DxScrolling,
|
DxScrolling,
|
||||||
DxSearchPanel,
|
DxSearchPanel,
|
||||||
@ -81,8 +246,29 @@ const position = { of: '#data' }
|
|||||||
const showIndicator = ref(true)
|
const showIndicator = ref(true)
|
||||||
const shading = ref(true)
|
const shading = ref(true)
|
||||||
const showPane = ref(true)
|
const showPane = ref(true)
|
||||||
const dataDetail = ref<any>()
|
const dataSelected = ref<any>()
|
||||||
const showDetail = ref(false)
|
const dataDetailSelected = ref<any>()
|
||||||
|
const showDialogDetail = ref(false)
|
||||||
|
const dataDetail = ref<any[]>([])
|
||||||
|
|
||||||
|
const closeDetailDialog = () => {
|
||||||
|
showDialogDetail.value = false
|
||||||
|
}
|
||||||
|
|
||||||
|
const showDialog = () => {
|
||||||
|
showDialogDetail.value = true
|
||||||
|
}
|
||||||
|
|
||||||
|
const onDataSelectionChanged = ({ selectedRowsData }: any) => {
|
||||||
|
dataSelected.value = selectedRowsData[0]
|
||||||
|
console.log(selectedRowsData[0])
|
||||||
|
}
|
||||||
|
|
||||||
|
const onDataDetailSelectionChanged = ({ selectedRowsData }: any) => {
|
||||||
|
dataDetailSelected.value = selectedRowsData[0]
|
||||||
|
console.log(selectedRowsData[0])
|
||||||
|
}
|
||||||
|
|
||||||
const onExporting = (e: any) => {
|
const onExporting = (e: any) => {
|
||||||
if (e.format === 'pdf') {
|
if (e.format === 'pdf') {
|
||||||
const doc = new jsPDF()
|
const doc = new jsPDF()
|
||||||
@ -112,11 +298,6 @@ const onExporting = (e: any) => {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
const onSelectionChanged = ({ selectedRowsData }: any) => {
|
|
||||||
const data = selectedRowsData[0]
|
|
||||||
console.log(data)
|
|
||||||
}
|
|
||||||
|
|
||||||
const data = ref<any[]>([])
|
const data = ref<any[]>([])
|
||||||
const GET_DATA = gql`
|
const GET_DATA = gql`
|
||||||
query rekapitulasiKeluhanAll
|
query rekapitulasiKeluhanAll
|
||||||
@ -135,29 +316,23 @@ query rekapitulasiKeluhanAll
|
|||||||
idUid: $idUid
|
idUid: $idUid
|
||||||
idUp3: $idUp3
|
idUp3: $idUp3
|
||||||
) {
|
) {
|
||||||
avg_durasi_dispatch
|
id_ulp
|
||||||
avg_durasi_recovery
|
nama_ulp
|
||||||
avg_durasi_response
|
|
||||||
id_uid
|
|
||||||
id_up3
|
|
||||||
max_durasi_dispatch
|
|
||||||
max_durasi_recovery
|
|
||||||
max_durasi_response
|
|
||||||
min_durasi_dispatch
|
|
||||||
min_durasi_recovery
|
|
||||||
min_durasi_response
|
|
||||||
persen_inproses
|
|
||||||
persen_selesai
|
|
||||||
idUlp
|
|
||||||
total
|
total
|
||||||
total_diatas_sla_dispatch
|
|
||||||
total_diatas_sla_recovery
|
|
||||||
total_diatas_sla_response
|
|
||||||
total_dibawah_sla_dispatch
|
|
||||||
total_dibawah_sla_recovery
|
|
||||||
total_dibawah_sla_response
|
|
||||||
total_inproses
|
|
||||||
total_selesai
|
total_selesai
|
||||||
|
persen_selesai
|
||||||
|
total_inproses
|
||||||
|
persen_inproses
|
||||||
|
avg_durasi_response
|
||||||
|
min_durasi_response
|
||||||
|
max_durasi_response
|
||||||
|
total_dibawah_sla_response
|
||||||
|
total_diatas_sla_response
|
||||||
|
avg_durasi_recovery
|
||||||
|
min_durasi_recovery
|
||||||
|
max_durasi_recovery
|
||||||
|
total_dibawah_sla_recovery
|
||||||
|
total_diatas_sla_recovery
|
||||||
}
|
}
|
||||||
}`
|
}`
|
||||||
|
|
||||||
@ -184,7 +359,6 @@ const filterData = (params: any) => {
|
|||||||
onResult((queryResult) => {
|
onResult((queryResult) => {
|
||||||
if (queryResult.data != undefined) {
|
if (queryResult.data != undefined) {
|
||||||
data.value = queryResult.data.rekapitulasiKeluhanAll
|
data.value = queryResult.data.rekapitulasiKeluhanAll
|
||||||
|
|
||||||
}
|
}
|
||||||
console.log(queryResult.data)
|
console.log(queryResult.data)
|
||||||
console.log(queryResult.loading)
|
console.log(queryResult.loading)
|
||||||
|
@ -18,21 +18,21 @@
|
|||||||
|
|
||||||
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
||||||
<DxColumn :width="170" alignment="center" data-field="fungsiBidang" caption="Fungsi Bidang"
|
<DxColumn :width="170" alignment="center" data-field="fungsi_bidang" caption="Fungsi Bidang"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn alignment="center" caption="Sudah Selesai" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Sudah Selesai" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="totalSelesai" data-type="number" caption="Jml"
|
<DxColumn :width="150" alignment="center" data-field="total_selesai" data-type="number" caption="Jml"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="persenSelesai" data-type="number" caption="%"
|
<DxColumn :width="150" alignment="center" data-field="persen_selesai" data-type="number" caption="%"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Belum Selesai" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Belum Selesai" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="totalInProcess" data-type="number" caption="Jml"
|
<DxColumn :width="150" alignment="center" data-field="total_inproses" data-type="number" caption="Jml"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="persenInProcess" data-type="number" caption="%"
|
<DxColumn :width="150" alignment="center" data-field="persen_inproses" data-type="number" caption="%"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
@ -40,17 +40,17 @@
|
|||||||
<DxColumn alignment="center" caption="Hari" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Hari" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="avgDurasiResponse" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="avg_durasi_response" data-type="number"
|
||||||
caption="Rata-Rata" css-class="custom-table-column" />
|
caption="Rata-Rata" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="maxDurasiResponse" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="min_durasi_response" data-type="number"
|
||||||
caption="Max" css-class="custom-table-column" />
|
caption="Max" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="minDurasiResponse" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="max_durasi_response" data-type="number"
|
||||||
caption="Min" css-class="custom-table-column" />
|
caption="Min" css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="totalDiatasSlaResponse" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="total_diatas_sla_response" data-type="number"
|
||||||
caption=">SLA" css-class="custom-table-column" />
|
caption=">SLA" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="totalDibawahSlaResponse" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_response" data-type="number"
|
||||||
caption="≤SLA" css-class="custom-table-column" />
|
caption="≤SLA" css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
@ -58,17 +58,17 @@
|
|||||||
<DxColumn alignment="center" caption="Hari" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Hari" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="avgDurasiPenyelesaian" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="avg_durasi_recovery" data-type="number"
|
||||||
caption="Rata-Rata" css-class="custom-table-column" />
|
caption="Rata-Rata" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="maxDurasiPenyelesaian" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="max_durasi_recovery" data-type="number"
|
||||||
caption="Max" css-class="custom-table-column" />
|
caption="Max" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="minDurasiPenyelesaian" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="min_durasi_recovery" data-type="number"
|
||||||
caption="Min" css-class="custom-table-column" />
|
caption="Min" css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="totalDiatasSlaPenyelesaian" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="total_diatas_sla_recovery" data-type="number"
|
||||||
caption=">SLA" css-class="custom-table-column" />
|
caption=">SLA" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="totalDibawahSlaPenyelesaian" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_recovery" data-type="number"
|
||||||
caption="≤SLA" css-class="custom-table-column" />
|
caption="≤SLA" css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
@ -155,24 +155,22 @@ const GET_DATA = gql`
|
|||||||
idUid: $idUid
|
idUid: $idUid
|
||||||
idUp3: $idUp3
|
idUp3: $idUp3
|
||||||
) {
|
) {
|
||||||
avgDurasiPenyelesaian
|
fungsi_bidang
|
||||||
avgDurasiResponse
|
|
||||||
fungsiBidang
|
|
||||||
maxDurasiPenyelesaian
|
|
||||||
maxDurasiResponse
|
|
||||||
minDurasiPenyelesaian
|
|
||||||
minDurasiResponse
|
|
||||||
persenInProcess
|
|
||||||
persenSelesai
|
|
||||||
total
|
total
|
||||||
totalDiatasSlaPenyelesaian
|
total_selesai
|
||||||
totalDiatasSlaResponse
|
persen_selesai
|
||||||
totalDibawahSlaPenyelesaian
|
total_inproses
|
||||||
totalDibawahSlaResponse
|
persen_inproses
|
||||||
totalDurasiPenyelesaian
|
avg_durasi_response
|
||||||
totalDurasiResponse
|
min_durasi_response
|
||||||
totalInProcess
|
max_durasi_response
|
||||||
totalSelesai
|
total_dibawah_sla_response
|
||||||
|
total_diatas_sla_response
|
||||||
|
avg_durasi_recovery
|
||||||
|
min_durasi_recovery
|
||||||
|
max_durasi_recovery
|
||||||
|
total_dibawah_sla_recovery
|
||||||
|
total_diatas_sla_recovery
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
||||||
<DxColumn :width="170" alignment="center" data-field="tipe_permasalahan" caption="Jenis Keluhan"
|
<DxColumn :width="170" alignment="center" data-field="tipe_keluhan" caption="Jenis Keluhan"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
||||||
@ -68,7 +68,7 @@
|
|||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_diatas_sla_recovery" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="total_diatas_sla_recovery" data-type="number"
|
||||||
caption=">SLA" css-class="custom-table-column" />
|
caption=">SLA" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="total_dibawah_recovery" data-type="number"
|
<DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_recovery" data-type="number"
|
||||||
caption="≤SLA" css-class="custom-table-column" />
|
caption="≤SLA" css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
@ -147,27 +147,22 @@ query rekapitulasiKeluhanPerJenisKeluhan
|
|||||||
idUid: $idUid
|
idUid: $idUid
|
||||||
idUp3: $idUp3
|
idUp3: $idUp3
|
||||||
) {
|
) {
|
||||||
avg_durasi_dispatch
|
tipe_keluhan
|
||||||
avg_durasi_recovery
|
|
||||||
avg_durasi_response
|
|
||||||
max_durasi_dispatch
|
|
||||||
max_durasi_recovery
|
|
||||||
max_durasi_response
|
|
||||||
min_durasi_dispatch
|
|
||||||
min_durasi_recovery
|
|
||||||
min_durasi_response
|
|
||||||
persen_inproses
|
|
||||||
persen_selesai
|
|
||||||
tipe_permasalahan
|
|
||||||
total
|
total
|
||||||
total_diatas_sla_dispatch
|
|
||||||
total_diatas_sla_recovery
|
|
||||||
total_diatas_sla_response
|
|
||||||
total_dibawah_sla_dispatch
|
|
||||||
total_dibawah_sla_recovery
|
|
||||||
total_dibawah_sla_response
|
|
||||||
total_inproses
|
|
||||||
total_selesai
|
total_selesai
|
||||||
|
persen_selesai
|
||||||
|
total_inproses
|
||||||
|
persen_inproses
|
||||||
|
avg_durasi_response
|
||||||
|
min_durasi_response
|
||||||
|
max_durasi_response
|
||||||
|
total_dibawah_sla_response
|
||||||
|
total_diatas_sla_response
|
||||||
|
avg_durasi_recovery
|
||||||
|
min_durasi_recovery
|
||||||
|
max_durasi_recovery
|
||||||
|
total_dibawah_sla_recovery
|
||||||
|
total_diatas_sla_recovery
|
||||||
}
|
}
|
||||||
}`;
|
}`;
|
||||||
const { onResult, onError, loading, refetch } = useQuery(GET_DATA, {
|
const { onResult, onError, loading, refetch } = useQuery(GET_DATA, {
|
||||||
|
@ -18,21 +18,21 @@
|
|||||||
|
|
||||||
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
<DxColumn css-class="custom-table-column" :width="50" alignment="center"
|
||||||
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
:calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1" data-type="number" caption="No" />
|
||||||
<DxColumn :width="170" alignment="center" data-field="" caption="Kelompok Keluhan"
|
<DxColumn :width="170" alignment="center" data-field="kelompok" caption="Kelompok Keluhan"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Total"
|
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn alignment="center" caption="Sudah Selesai" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Sudah Selesai" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Jml"
|
<DxColumn :width="150" alignment="center" data-field="total_selesai" data-type="number" caption="Jml"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="%"
|
<DxColumn :width="150" alignment="center" data-field="persen_selesai" data-type="number" caption="%"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Belum Selesai" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Belum Selesai" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Jml"
|
<DxColumn :width="150" alignment="center" data-field="total_inproses" data-type="number" caption="Jml"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="%"
|
<DxColumn :width="150" alignment="center" data-field="persen_inproses" data-type="number" caption="%"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
@ -40,36 +40,36 @@
|
|||||||
<DxColumn alignment="center" caption="Hari" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Hari" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Total"
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Total"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Rata-Rata"
|
<DxColumn :width="150" alignment="center" data-field="avg_durasi_response" data-type="number"
|
||||||
css-class="custom-table-column" />
|
caption="Rata-Rata" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Max"
|
<DxColumn :width="150" alignment="center" data-field="max_durasi_response" data-type="number"
|
||||||
css-class="custom-table-column" />
|
caption="Max" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Min"
|
<DxColumn :width="150" alignment="center" data-field="min_durasi_response" data-type="number"
|
||||||
css-class="custom-table-column" />
|
caption="Min" css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption=">SLA"
|
<DxColumn :width="150" alignment="center" data-field="total_diatas_sla_response" data-type="number"
|
||||||
css-class="custom-table-column" />
|
caption=">SLA" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="≤SLA"
|
<DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_response" data-type="number"
|
||||||
css-class="custom-table-column" />
|
caption="≤SLA" css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Penyelesaian" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Penyelesaian" css-class="custom-table-column">
|
||||||
<DxColumn alignment="center" caption="Hari" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Hari" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Total"
|
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Total"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Rata-Rata"
|
<DxColumn :width="150" alignment="center" data-field="avg_durasi_recovery" data-type="number"
|
||||||
css-class="custom-table-column" />
|
caption="Rata-Rata" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Max"
|
<DxColumn :width="150" alignment="center" data-field="max_durasi_recovery" data-type="number"
|
||||||
css-class="custom-table-column" />
|
caption="Max" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="Min"
|
<DxColumn :width="150" alignment="center" data-field="min_durasi_recovery" data-type="number"
|
||||||
css-class="custom-table-column" />
|
caption="Min" css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption=">SLA"
|
<DxColumn :width="150" alignment="center" data-field="total_diatas_sla_recovery" data-type="number"
|
||||||
css-class="custom-table-column" />
|
caption=">SLA" css-class="custom-table-column" />
|
||||||
<DxColumn :width="150" alignment="center" data-field="" data-type="number" caption="≤SLA"
|
<DxColumn :width="150" alignment="center" data-field="total_dibawah_sla_recovery" data-type="number"
|
||||||
css-class="custom-table-column" />
|
caption="≤SLA" css-class="custom-table-column" />
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
</DxColumn>
|
</DxColumn>
|
||||||
|
|
||||||
@ -147,27 +147,22 @@ query rekapitulasiKeluhanPerKelompokKeluhan
|
|||||||
idUid: $idUid
|
idUid: $idUid
|
||||||
idUp3: $idUp3
|
idUp3: $idUp3
|
||||||
) {
|
) {
|
||||||
avg_durasi_dispatch
|
kelompok
|
||||||
avg_durasi_recovery
|
|
||||||
avg_durasi_response
|
|
||||||
max_durasi_dispatch
|
|
||||||
max_durasi_recovery
|
|
||||||
max_durasi_response
|
|
||||||
min_durasi_dispatch
|
|
||||||
min_durasi_recovery
|
|
||||||
min_durasi_response
|
|
||||||
persen_inproses
|
|
||||||
persen_selesai
|
|
||||||
tipe_permasalahan
|
|
||||||
total
|
total
|
||||||
total_diatas_sla_dispatch
|
|
||||||
total_diatas_sla_recovery
|
|
||||||
total_diatas_sla_response
|
|
||||||
total_dibawah_sla_dispatch
|
|
||||||
total_dibawah_sla_recovery
|
|
||||||
total_dibawah_sla_response
|
|
||||||
total_inproses
|
|
||||||
total_selesai
|
total_selesai
|
||||||
|
persen_selesai
|
||||||
|
total_inproses
|
||||||
|
persen_inproses
|
||||||
|
avg_durasi_response
|
||||||
|
min_durasi_response
|
||||||
|
max_durasi_response
|
||||||
|
total_dibawah_sla_response
|
||||||
|
total_diatas_sla_response
|
||||||
|
avg_durasi_recovery
|
||||||
|
min_durasi_recovery
|
||||||
|
max_durasi_recovery
|
||||||
|
total_dibawah_sla_recovery
|
||||||
|
total_diatas_sla_recovery
|
||||||
}
|
}
|
||||||
}`;
|
}`;
|
||||||
const { onResult, onError, loading, refetch } = useQuery(GET_DATA, {
|
const { onResult, onError, loading, refetch } = useQuery(GET_DATA, {
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
<DxColumn :width="50" alignment="center" :calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
<DxColumn :width="50" alignment="center" :calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
||||||
caption="NO" css-class="custom-table-column" />
|
caption="NO" css-class="custom-table-column" />
|
||||||
<DxColumn :width="170" alignment="center" data-field="tanggal" caption="Tanggal Lapor"
|
<DxColumn :width="170" alignment="center" data-field="tanggal_lapor" caption="Tanggal Lapor"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
||||||
@ -153,29 +153,22 @@ const GET_DATA = gql`
|
|||||||
idUid: $idUid
|
idUid: $idUid
|
||||||
idUp3: $idUp3
|
idUp3: $idUp3
|
||||||
) {
|
) {
|
||||||
avg_durasi_dispatch
|
tanggal_lapor
|
||||||
avg_durasi_recovery
|
|
||||||
avg_durasi_response
|
|
||||||
id_uid
|
|
||||||
id_up3
|
|
||||||
max_durasi_dispatch
|
|
||||||
max_durasi_recovery
|
|
||||||
max_durasi_response
|
|
||||||
min_durasi_dispatch
|
|
||||||
min_durasi_recovery
|
|
||||||
min_durasi_response
|
|
||||||
persen_inproses
|
|
||||||
persen_selesai
|
|
||||||
tanggal
|
|
||||||
total
|
total
|
||||||
total_diatas_sla_dispatch
|
|
||||||
total_diatas_sla_recovery
|
|
||||||
total_diatas_sla_response
|
|
||||||
total_dibawah_sla_dispatch
|
|
||||||
total_dibawah_sla_recovery
|
|
||||||
total_dibawah_sla_response
|
|
||||||
total_inproses
|
|
||||||
total_selesai
|
total_selesai
|
||||||
|
persen_selesai
|
||||||
|
total_inproses
|
||||||
|
persen_inproses
|
||||||
|
avg_durasi_response
|
||||||
|
min_durasi_response
|
||||||
|
max_durasi_response
|
||||||
|
total_dibawah_sla_response
|
||||||
|
total_diatas_sla_response
|
||||||
|
avg_durasi_recovery
|
||||||
|
min_durasi_recovery
|
||||||
|
max_durasi_recovery
|
||||||
|
total_dibawah_sla_recovery
|
||||||
|
total_diatas_sla_recovery
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
@ -18,7 +18,7 @@
|
|||||||
|
|
||||||
<DxColumn :width="50" alignment="center" :calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
<DxColumn :width="50" alignment="center" :calculateCellValue="(item: any) => data.findIndex((i) => i == item) + 1"
|
||||||
caption="NO" css-class="custom-table-column" />
|
caption="NO" css-class="custom-table-column" />
|
||||||
<DxColumn :width="170" alignment="center" data-field="idUlp" caption="Unit" css-class="custom-table-column" />
|
<DxColumn :width="170" alignment="center" data-field="nama_ulp" caption="Unit" css-class="custom-table-column" />
|
||||||
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
<DxColumn alignment="center" caption="Laporan" css-class="custom-table-column">
|
||||||
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
<DxColumn :width="150" alignment="center" data-field="total" data-type="number" caption="Total"
|
||||||
css-class="custom-table-column" />
|
css-class="custom-table-column" />
|
||||||
@ -152,29 +152,23 @@ const GET_DATA = gql`
|
|||||||
idUid: $idUid
|
idUid: $idUid
|
||||||
idUp3: $idUp3
|
idUp3: $idUp3
|
||||||
) {
|
) {
|
||||||
avg_durasi_dispatch
|
id_ulp
|
||||||
avg_durasi_recovery
|
nama_ulp
|
||||||
avg_durasi_response
|
|
||||||
id_uid
|
|
||||||
id_up3
|
|
||||||
max_durasi_dispatch
|
|
||||||
max_durasi_recovery
|
|
||||||
max_durasi_response
|
|
||||||
min_durasi_dispatch
|
|
||||||
min_durasi_recovery
|
|
||||||
min_durasi_response
|
|
||||||
persen_inproses
|
|
||||||
persen_selesai
|
|
||||||
idUlp
|
|
||||||
total
|
total
|
||||||
total_diatas_sla_dispatch
|
|
||||||
total_diatas_sla_recovery
|
|
||||||
total_diatas_sla_response
|
|
||||||
total_dibawah_sla_dispatch
|
|
||||||
total_dibawah_sla_recovery
|
|
||||||
total_dibawah_sla_response
|
|
||||||
total_inproses
|
|
||||||
total_selesai
|
total_selesai
|
||||||
|
persen_selesai
|
||||||
|
total_inproses
|
||||||
|
persen_inproses
|
||||||
|
avg_durasi_response
|
||||||
|
min_durasi_response
|
||||||
|
max_durasi_response
|
||||||
|
total_dibawah_sla_response
|
||||||
|
total_diatas_sla_response
|
||||||
|
avg_durasi_recovery
|
||||||
|
min_durasi_recovery
|
||||||
|
max_durasi_recovery
|
||||||
|
total_dibawah_sla_recovery
|
||||||
|
total_diatas_sla_recovery
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
`
|
`
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
//deploy vm
|
||||||
import { ApolloClient, createHttpLink, InMemoryCache } from '@apollo/client/core'
|
import { ApolloClient, createHttpLink, InMemoryCache } from '@apollo/client/core'
|
||||||
|
|
||||||
export const apolloClient = () => {
|
export const apolloClient = () => {
|
||||||
|
@ -1,3 +1,4 @@
|
|||||||
|
//deploy vm
|
||||||
import axios from 'axios'
|
import axios from 'axios'
|
||||||
|
|
||||||
const url = import.meta.env.VITE_APP_REST_ENDPOINT
|
const url = import.meta.env.VITE_APP_REST_ENDPOINT
|
||||||
|
@ -3,7 +3,6 @@ import { fileURLToPath, URL } from 'node:url'
|
|||||||
import { defineConfig } from 'vite'
|
import { defineConfig } from 'vite'
|
||||||
import vue from '@vitejs/plugin-vue'
|
import vue from '@vitejs/plugin-vue'
|
||||||
import vueJsx from '@vitejs/plugin-vue-jsx'
|
import vueJsx from '@vitejs/plugin-vue-jsx'
|
||||||
import utwm from 'unplugin-tailwindcss-mangle/vite'
|
|
||||||
|
|
||||||
// https://vitejs.dev/config/
|
// https://vitejs.dev/config/
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
@ -16,12 +15,17 @@ export default defineConfig({
|
|||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
vueJsx(),
|
vueJsx(),
|
||||||
// process.env.NODE_ENV === 'production' && utwm({})
|
|
||||||
],
|
],
|
||||||
resolve: {
|
resolve: {
|
||||||
alias: {
|
alias: {
|
||||||
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
'@': fileURLToPath(new URL('./src', import.meta.url)),
|
||||||
// 'inferno': 'inferno/dist/index.dev.esm.js',
|
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
build: {
|
||||||
|
outDir: 'build',
|
||||||
|
emptyOutDir: true,
|
||||||
|
chunkSizeWarningLimit: 4096,
|
||||||
|
// cssCodeSplit: true,
|
||||||
|
// cssMinify: true,
|
||||||
|
}
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user